diff --git a/public/appicon.svg b/public/appicon.svg
index 3ba8586..a6f4fe7 100644
--- a/public/appicon.svg
+++ b/public/appicon.svg
@@ -1,279 +1,132 @@
-
diff --git a/public/favicon.ico b/public/favicon.ico
index 4447643..645e5e2 100644
Binary files a/public/favicon.ico and b/public/favicon.ico differ
diff --git a/src/app/[locale]/layout.tsx b/src/app/[locale]/layout.tsx
index 9fc8d53..13ff938 100644
--- a/src/app/[locale]/layout.tsx
+++ b/src/app/[locale]/layout.tsx
@@ -44,7 +44,7 @@ export default async function LocaleLayout({
{/* }}*/}
{/* />*/}
{/**/}
-
+
{children}
diff --git a/src/app/[locale]/privacy-policy/PageComponent.tsx b/src/app/[locale]/privacy-policy/PageComponent.tsx
new file mode 100644
index 0000000..c32fd20
--- /dev/null
+++ b/src/app/[locale]/privacy-policy/PageComponent.tsx
@@ -0,0 +1,55 @@
+import Header from '~/components/Header';
+import Footer from '~/components/Footer';
+import HeadInfo from "~/components/HeadInfo";
+
+const PageComponent = ({
+ locale='',
+ data,
+ dataIndex,
+ }) => {
+
+ return (
+ <>
+
+
+
+
+
+ {data('h1')}
+
+
{data('date')}
+
{data('desc')}
+
{data('h4_1')}
+
{data('h4_1_pa')}
+
{data('h4_1_pb')}
+
{data('h4_2')}
+
{data('h4_2_p')}
+
{data('h4_3')}
+
{data('h4_3_p')}
+
{data('h4_4')}
+
{data('h4_4_p')}
+
{data('h4_5')}
+
{data('h4_5_p')}
+
{data('h4_6')}
+
+ {data('h4_6_p')}{" "}hello@sorawebui.com.
+
+
+
+
+ >
+ )
+}
+
+export default PageComponent
diff --git a/src/app/[locale]/privacy-policy/page.tsx b/src/app/[locale]/privacy-policy/page.tsx
new file mode 100644
index 0000000..b608388
--- /dev/null
+++ b/src/app/[locale]/privacy-policy/page.tsx
@@ -0,0 +1,20 @@
+import {getTranslations, unstable_setRequestLocale} from 'next-intl/server';
+
+import PageComponent from './PageComponent';
+
+export default async function PageContent({params: {locale=''}}) {
+ // Enable static rendering
+ unstable_setRequestLocale(locale);
+
+ const t = await getTranslations('privacyPolicy');
+ const tIndex = await getTranslations('IndexPage');
+
+ return (
+
+
+ )
+}
diff --git a/src/app/[locale]/terms-of-service/PageComponent.tsx b/src/app/[locale]/terms-of-service/PageComponent.tsx
new file mode 100644
index 0000000..7ac0a2b
--- /dev/null
+++ b/src/app/[locale]/terms-of-service/PageComponent.tsx
@@ -0,0 +1,63 @@
+import Header from '~/components/Header';
+import Footer from '~/components/Footer';
+import HeadInfo from "~/components/HeadInfo";
+
+const PageComponent = ({
+ locale = '',
+ data,
+ dataIndex
+ }) => {
+
+ return (
+ <>
+
+
+
+
+
+ {data('h1')}
+
+
{data('date')}
+
{data('desc')}
+
{data('h4_1')}
+
{data('h4_1_p')}
+
{data('h4_2')}
+
{data('h4_2_p')}
+
{data('h4_3')}
+
{data('h4_3_p')}
+
{data('h4_4')}
+
{data('h4_4_p')}
+
{data('h4_5')}
+
+ {data('h4_5_p')}https://sorawebui.com/privacy-policy
+
+
{data('h4_6')}
+
{data('h4_6_p')}
+
{data('h4_7')}
+
{data('h4_7_p')}
+
{data('h4_8')}
+
+ {data('h4_8_p')}hello@sorawebui.com.
+
+
+
+
+ >
+ )
+
+}
+
+export default PageComponent
diff --git a/src/app/[locale]/terms-of-service/page.tsx b/src/app/[locale]/terms-of-service/page.tsx
new file mode 100644
index 0000000..d6749ed
--- /dev/null
+++ b/src/app/[locale]/terms-of-service/page.tsx
@@ -0,0 +1,22 @@
+import {getTranslations, unstable_setRequestLocale} from 'next-intl/server';
+
+import PageComponent from './PageComponent';
+
+export default async function PageContent({params: {locale=''}}) {
+ // Enable static rendering
+ unstable_setRequestLocale(locale);
+
+ const t = await getTranslations('termsOfService');
+ const tIndex = await getTranslations('IndexPage');
+
+
+ return (
+
+
+ )
+
+}
diff --git a/src/components/HeadInfo.tsx b/src/components/HeadInfo.tsx
new file mode 100644
index 0000000..281c9d9
--- /dev/null
+++ b/src/components/HeadInfo.tsx
@@ -0,0 +1,44 @@
+import {languageList} from "~/configs/supportLanguage";
+
+const HeadInfo = ({
+ title= "",
+ description= "",
+ page="",
+ locale = "en"
+ }) => {
+ return (
+ <>
+ {title}
+
+ {
+ languageList.map((item) => {
+ const currentPage = page;
+ let hrefLang = item.code;
+ if (item.lang == 'en') {
+ hrefLang = 'x-default';
+ }
+ let href = `${process.env.NEXT_PUBLIC_SITE_URL}/${item.lang}${currentPage}`;
+ if (item.lang == 'en') {
+ href = `${process.env.NEXT_PUBLIC_SITE_URL}${currentPage}`;
+ }
+ return
+ })
+ }
+ {
+ languageList.map((item) => {
+ const currentPage = page;
+ let hrefLang = item.code;
+ let href = `${process.env.NEXT_PUBLIC_SITE_URL}/${item.lang}${currentPage}`;
+ if (item.lang == 'en') {
+ href = `${process.env.NEXT_PUBLIC_SITE_URL}${currentPage}`;
+ }
+ if (locale == item.lang) {
+ return
+ }
+ })
+ }
+ >
+ )
+}
+
+export default HeadInfo
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index ff9da70..1f1cbc7 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -84,6 +84,9 @@ export default function Header({
{
languages.map((item) => {
let hrefValue = `/${item.lang}`;
+ if (page) {
+ hrefValue = `/${item.lang}/${page}`;
+ }
return (
checkLocalAndLoading(item.lang)}>
diff --git a/src/configs/supportLanguage.ts b/src/configs/supportLanguage.ts
new file mode 100644
index 0000000..3734f06
--- /dev/null
+++ b/src/configs/supportLanguage.ts
@@ -0,0 +1,21 @@
+
+export const languageList = [
+ {
+ code: "en-US",
+ lang: "en",
+ language: "English",
+ },
+ {
+ code: "zh-CN",
+ lang: "zh",
+ language: "简体中文",
+ }
+]
+
+export const getLanguageByLang = (lang) => {
+ for (let i = 0; i < languageList.length; i++) {
+ if (lang == languageList[i].lang) {
+ return languageList[i];
+ }
+ }
+}