+ )
+ );
+}
diff --git a/apps/admin/locales/cs-CZ/system.json b/apps/admin/locales/cs-CZ/system.json
index af22961..161e9f1 100644
--- a/apps/admin/locales/cs-CZ/system.json
+++ b/apps/admin/locales/cs-CZ/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Pouze pro zobrazení, po změně se změní všechny měnové jednotky v systému",
"saveSuccess": "Úspěšně uloženo"
},
+ "privacy-policy": {
+ "saveSuccess": "Uložení bylo úspěšné",
+ "title": "Zásady ochrany osobních údajů"
+ },
"site": {
"customHtml": "Vlastní HTML",
"customHtmlDescription": "Vlastní HTML kód, který bude vložen na konec tagu body na stránce.",
diff --git a/apps/admin/locales/de-DE/system.json b/apps/admin/locales/de-DE/system.json
index d4bfd3f..d93445b 100644
--- a/apps/admin/locales/de-DE/system.json
+++ b/apps/admin/locales/de-DE/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Nur zur Anzeige verwendet, nach der Änderung werden alle Währungseinheiten im System geändert",
"saveSuccess": "Erfolgreich gespeichert"
},
+ "privacy-policy": {
+ "saveSuccess": "Erfolgreich gespeichert",
+ "title": "Datenschutzrichtlinie"
+ },
"site": {
"customHtml": "Benutzerdefiniertes HTML",
"customHtmlDescription": "Benutzerdefinierter HTML-Code, der am Ende des body-Tags der Seite eingefügt werden soll.",
diff --git a/apps/admin/locales/en-US/system.json b/apps/admin/locales/en-US/system.json
index af5fcc8..2bd8404 100644
--- a/apps/admin/locales/en-US/system.json
+++ b/apps/admin/locales/en-US/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Used for display purposes only; changing this will affect all currency units in the system",
"saveSuccess": "Save Successful"
},
+ "privacy-policy": {
+ "saveSuccess": "Save Successful",
+ "title": "Privacy Policy"
+ },
"site": {
"customHtml": "Custom HTML",
"customHtmlDescription": "Custom HTML code to be injected into the bottom of the site's body tag.",
diff --git a/apps/admin/locales/es-ES/system.json b/apps/admin/locales/es-ES/system.json
index 8b4e303..babfde8 100644
--- a/apps/admin/locales/es-ES/system.json
+++ b/apps/admin/locales/es-ES/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Solo para uso de visualización, al cambiarlo se modificarán todas las unidades monetarias en el sistema",
"saveSuccess": "Guardado exitosamente"
},
+ "privacy-policy": {
+ "saveSuccess": "Guardado con éxito",
+ "title": "Política de Privacidad"
+ },
"site": {
"customHtml": "HTML personalizado",
"customHtmlDescription": "Código HTML personalizado que se inyectará en la parte inferior de la etiqueta body del sitio.",
diff --git a/apps/admin/locales/es-MX/system.json b/apps/admin/locales/es-MX/system.json
index 40ec67a..47b96bd 100644
--- a/apps/admin/locales/es-MX/system.json
+++ b/apps/admin/locales/es-MX/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Solo para fines de visualización, cambiarlo alterará todas las unidades monetarias en el sistema",
"saveSuccess": "Guardado exitosamente"
},
+ "privacy-policy": {
+ "saveSuccess": "Guardado exitoso",
+ "title": "Política de Privacidad"
+ },
"site": {
"customHtml": "HTML personalizado",
"customHtmlDescription": "Código HTML personalizado que se inyectará al final de la etiqueta body del sitio.",
diff --git a/apps/admin/locales/fa-IR/system.json b/apps/admin/locales/fa-IR/system.json
index 4a38479..0f63eb4 100644
--- a/apps/admin/locales/fa-IR/system.json
+++ b/apps/admin/locales/fa-IR/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "فقط برای نمایش استفاده میشود؛ تغییر این مورد بر تمام واحدهای ارزی در سیستم تأثیر خواهد گذاشت",
"saveSuccess": "ذخیرهسازی موفقیتآمیز"
},
+ "privacy-policy": {
+ "saveSuccess": "ذخیره با موفقیت انجام شد",
+ "title": "سیاست حفظ حریم خصوصی"
+ },
"site": {
"customHtml": "HTML سفارشی",
"customHtmlDescription": "کد HTML سفارشی که باید در انتهای تگ body سایت وارد شود.",
diff --git a/apps/admin/locales/fi-FI/system.json b/apps/admin/locales/fi-FI/system.json
index 37524ce..583aa37 100644
--- a/apps/admin/locales/fi-FI/system.json
+++ b/apps/admin/locales/fi-FI/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Käytetään vain näyttötarkoituksiin, muutoksen jälkeen kaikki järjestelmän valuuttayksiköt muuttuvat",
"saveSuccess": "Tallennus onnistui"
},
+ "privacy-policy": {
+ "saveSuccess": "Tallennus onnistui",
+ "title": "Tietosuojakäytäntö"
+ },
"site": {
"customHtml": "Mukautettu HTML",
"customHtmlDescription": "Mukautettu HTML-koodi, joka lisätään sivuston body -tagin loppuun.",
diff --git a/apps/admin/locales/fr-FR/system.json b/apps/admin/locales/fr-FR/system.json
index 65a496d..37c001d 100644
--- a/apps/admin/locales/fr-FR/system.json
+++ b/apps/admin/locales/fr-FR/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Utilisé uniquement pour l'affichage, toute modification entraînera un changement de toutes les unités monétaires dans le système",
"saveSuccess": "Enregistrement réussi"
},
+ "privacy-policy": {
+ "saveSuccess": "Enregistrement réussi",
+ "title": "Politique de confidentialité"
+ },
"site": {
"customHtml": "HTML personnalisé",
"customHtmlDescription": "Code HTML personnalisé à injecter dans le bas de la balise body du site.",
diff --git a/apps/admin/locales/hi-IN/system.json b/apps/admin/locales/hi-IN/system.json
index 59e71fd..275f4f3 100644
--- a/apps/admin/locales/hi-IN/system.json
+++ b/apps/admin/locales/hi-IN/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "केवल प्रदर्शन के लिए उपयोग किया जाता है, परिवर्तन के बाद सिस्टम में सभी मुद्रा इकाइयाँ बदल जाएँगी",
"saveSuccess": "सफलतापूर्वक सहेजा गया"
},
+ "privacy-policy": {
+ "saveSuccess": "सफलता से सहेजा गया",
+ "title": "गोपनीयता नीति"
+ },
"site": {
"customHtml": "कस्टम HTML",
"customHtmlDescription": "साइट के bodyैग के नीचे इंजेक्ट करने के लिए कस्टम HTML कोड।",
diff --git a/apps/admin/locales/hu-HU/system.json b/apps/admin/locales/hu-HU/system.json
index f4dc22f..ea944a3 100644
--- a/apps/admin/locales/hu-HU/system.json
+++ b/apps/admin/locales/hu-HU/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Csak megjelenítésre használatos, a módosítás után a rendszer összes pénznem egysége megváltozik",
"saveSuccess": "Sikeres mentés"
},
+ "privacy-policy": {
+ "saveSuccess": "Mentés sikeres",
+ "title": "Adatvédelmi irányelvek"
+ },
"site": {
"customHtml": "Egyedi HTML",
"customHtmlDescription": "Egyedi HTML kód, amelyet a webhely bodyímkéjének aljára kell beilleszteni.",
diff --git a/apps/admin/locales/ja-JP/system.json b/apps/admin/locales/ja-JP/system.json
index 4c51324..bfbc88b 100644
--- a/apps/admin/locales/ja-JP/system.json
+++ b/apps/admin/locales/ja-JP/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "表示のみに使用され、変更するとシステム内のすべての通貨単位が変更されます",
"saveSuccess": "保存に成功しました"
},
+ "privacy-policy": {
+ "saveSuccess": "保存に成功しました",
+ "title": "プライバシーポリシー"
+ },
"site": {
"customHtml": "カスタムHTML",
"customHtmlDescription": "サイトの body タグの下部に挿入されるカスタム HTML コード。",
diff --git a/apps/admin/locales/ko-KR/system.json b/apps/admin/locales/ko-KR/system.json
index 1589b81..b7285ca 100644
--- a/apps/admin/locales/ko-KR/system.json
+++ b/apps/admin/locales/ko-KR/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "표시용으로만 사용되며, 변경 시 시스템 내 모든 통화 단위가 변경됩니다",
"saveSuccess": "저장 성공"
},
+ "privacy-policy": {
+ "saveSuccess": "저장 성공",
+ "title": "개인정보 처리방침"
+ },
"site": {
"customHtml": "사용자 정의 HTML",
"customHtmlDescription": "사이트의 body그 하단에 삽입될 사용자 정의 HTML 코드입니다.",
diff --git a/apps/admin/locales/no-NO/system.json b/apps/admin/locales/no-NO/system.json
index 3421ed8..85062db 100644
--- a/apps/admin/locales/no-NO/system.json
+++ b/apps/admin/locales/no-NO/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Kun for visningsformål, endring vil påvirke alle valutaenheter i systemet",
"saveSuccess": "Lagring vellykket"
},
+ "privacy-policy": {
+ "saveSuccess": "Lagring vellykket",
+ "title": "Personvernerklæring"
+ },
"site": {
"customHtml": "Egendefinert HTML",
"customHtmlDescription": "Egendefinert HTML-kode som skal settes inn i bunnen av nettstedets body-tag.",
diff --git a/apps/admin/locales/pl-PL/system.json b/apps/admin/locales/pl-PL/system.json
index 5f3c2b8..5177aff 100644
--- a/apps/admin/locales/pl-PL/system.json
+++ b/apps/admin/locales/pl-PL/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Używane wyłącznie do celów wyświetlania, po zmianie wszystkie jednostki walutowe w systemie zostaną zmienione",
"saveSuccess": "Zapisano pomyślnie"
},
+ "privacy-policy": {
+ "saveSuccess": "Zapisano pomyślnie",
+ "title": "Polityka prywatności"
+ },
"site": {
"customHtml": "Niestandardowy HTML",
"customHtmlDescription": "Niestandardowy kod HTML, który ma być wstrzyknięty na końcu tagu bodyitryny.",
diff --git a/apps/admin/locales/pt-BR/system.json b/apps/admin/locales/pt-BR/system.json
index 3aac3d9..e015d51 100644
--- a/apps/admin/locales/pt-BR/system.json
+++ b/apps/admin/locales/pt-BR/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Usado apenas para exibição, após a alteração todas as unidades monetárias no sistema serão alteradas",
"saveSuccess": "Salvo com sucesso"
},
+ "privacy-policy": {
+ "saveSuccess": "Salvo com Sucesso",
+ "title": "Política de Privacidade"
+ },
"site": {
"customHtml": "HTML Personalizado",
"customHtmlDescription": "Código HTML personalizado a ser inserido no final da tag bodyo site.",
diff --git a/apps/admin/locales/ro-RO/system.json b/apps/admin/locales/ro-RO/system.json
index 71a924e..2852170 100644
--- a/apps/admin/locales/ro-RO/system.json
+++ b/apps/admin/locales/ro-RO/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Utilizat doar pentru afișare, după modificare toate unitățile monetare din sistem vor fi schimbate",
"saveSuccess": "Salvare reușită"
},
+ "privacy-policy": {
+ "saveSuccess": "Salvare reușită",
+ "title": "Politica de confidențialitate"
+ },
"site": {
"customHtml": "HTML personalizat",
"customHtmlDescription": "Cod HTML personalizat care va fi injectat în partea de jos a etichetei body a site-ului.",
diff --git a/apps/admin/locales/ru-RU/system.json b/apps/admin/locales/ru-RU/system.json
index a119cae..8c932ad 100644
--- a/apps/admin/locales/ru-RU/system.json
+++ b/apps/admin/locales/ru-RU/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Используется только для отображения, после изменения все валютные единицы в системе будут изменены",
"saveSuccess": "Успешно сохранено"
},
+ "privacy-policy": {
+ "saveSuccess": "Сохранение успешно",
+ "title": "Политика конфиденциальности"
+ },
"site": {
"customHtml": "Пользовательский HTML",
"customHtmlDescription": "Пользовательский HTML-код, который будет вставлен в конец тега body сайта.",
diff --git a/apps/admin/locales/th-TH/system.json b/apps/admin/locales/th-TH/system.json
index caad1d6..40a39b7 100644
--- a/apps/admin/locales/th-TH/system.json
+++ b/apps/admin/locales/th-TH/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "ใช้สำหรับการแสดงผลเท่านั้น การเปลี่ยนแปลงจะส่งผลต่อหน่วยสกุลเงินทั้งหมดในระบบ",
"saveSuccess": "บันทึกสำเร็จ"
},
+ "privacy-policy": {
+ "saveSuccess": "บันทึกสำเร็จ",
+ "title": "นโยบายความเป็นส่วนตัว"
+ },
"site": {
"customHtml": "HTML ที่กำหนดเอง",
"customHtmlDescription": "รหัส HTML ที่กำหนดเองเพื่อแทรกลงในส่วนล่างของแท็ก body ของเว็บไซต์.",
diff --git a/apps/admin/locales/tr-TR/system.json b/apps/admin/locales/tr-TR/system.json
index 640bd1c..e1d17ba 100644
--- a/apps/admin/locales/tr-TR/system.json
+++ b/apps/admin/locales/tr-TR/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Sadece gösterim amaçlı kullanılır, değiştirildiğinde sistemdeki tüm para birimi birimleri değişecektir",
"saveSuccess": "Başarıyla kaydedildi"
},
+ "privacy-policy": {
+ "saveSuccess": "Başarıyla Kaydedildi",
+ "title": "Gizlilik Politikası"
+ },
"site": {
"customHtml": "Özel HTML",
"customHtmlDescription": "Site'in body etiketinin altına yerleştirilecek özel HTML kodu.",
diff --git a/apps/admin/locales/uk-UA/system.json b/apps/admin/locales/uk-UA/system.json
index 1a29f7e..41b4ae9 100644
--- a/apps/admin/locales/uk-UA/system.json
+++ b/apps/admin/locales/uk-UA/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Використовується лише для відображення, після зміни всі валютні одиниці в системі будуть змінені",
"saveSuccess": "Успішно збережено"
},
+ "privacy-policy": {
+ "saveSuccess": "Збережено успішно",
+ "title": "Політика конфіденційності"
+ },
"site": {
"customHtml": "Користувацький HTML",
"customHtmlDescription": "Користувацький HTML-код, який буде вставлено в кінець тегу body сайту.",
diff --git a/apps/admin/locales/vi-VN/system.json b/apps/admin/locales/vi-VN/system.json
index a37d004..16e261b 100644
--- a/apps/admin/locales/vi-VN/system.json
+++ b/apps/admin/locales/vi-VN/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "Chỉ sử dụng để hiển thị, sau khi thay đổi tất cả các đơn vị tiền tệ trong hệ thống sẽ thay đổi",
"saveSuccess": "Lưu thành công"
},
+ "privacy-policy": {
+ "saveSuccess": "Lưu thành công",
+ "title": "Chính sách bảo mật"
+ },
"site": {
"customHtml": "HTML tùy chỉnh",
"customHtmlDescription": "Mã HTML tùy chỉnh để được chèn vào cuối thẻ body của trang.",
diff --git a/apps/admin/locales/zh-CN/system.json b/apps/admin/locales/zh-CN/system.json
index 0ed297b..b1ac00f 100644
--- a/apps/admin/locales/zh-CN/system.json
+++ b/apps/admin/locales/zh-CN/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "仅用于展示使用,更改后系统中所有的货币单位都将发生变更",
"saveSuccess": "保存成功"
},
+ "privacy-policy": {
+ "saveSuccess": "保存成功",
+ "title": "隐私政策"
+ },
"site": {
"customHtml": "自定义HTML",
"customHtmlDescription": "要注入到网站 body 标签底部的自定义 HTML 代码。",
diff --git a/apps/admin/locales/zh-HK/system.json b/apps/admin/locales/zh-HK/system.json
index 9bfc9f2..ce28e4f 100644
--- a/apps/admin/locales/zh-HK/system.json
+++ b/apps/admin/locales/zh-HK/system.json
@@ -8,6 +8,10 @@
"currencyUnitDescription": "僅用於展示使用,更改後系統中所有的貨幣單位都將發生變更",
"saveSuccess": "保存成功"
},
+ "privacy-policy": {
+ "saveSuccess": "保存成功",
+ "title": "私隱政策"
+ },
"site": {
"customHtml": "自定義HTML",
"customHtmlDescription": "自定義 HTML 代碼,將注入到網站 body 標籤的底部。",
diff --git a/apps/admin/services/admin/system.ts b/apps/admin/services/admin/system.ts
index 4e52bc1..84e8a32 100644
--- a/apps/admin/services/admin/system.ts
+++ b/apps/admin/services/admin/system.ts
@@ -203,6 +203,29 @@ export async function updateNodeConfig(body: API.NodeConfig, options?: { [key: s
});
}
+/** get Privacy Policy Config GET /v1/admin/system/privacy */
+export async function getPrivacyPolicyConfig(options?: { [key: string]: any }) {
+ return request('/v1/admin/system/privacy', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** Update Privacy Policy Config PUT /v1/admin/system/privacy */
+export async function updatePrivacyPolicyConfig(
+ body: API.PrivacyPolicyConfig,
+ options?: { [key: string]: any },
+) {
+ return request('/v1/admin/system/privacy', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** Get register config GET /v1/admin/system/register_config */
export async function getRegisterConfig(options?: { [key: string]: any }) {
return request('/v1/admin/system/register_config', {
diff --git a/apps/admin/services/admin/typings.d.ts b/apps/admin/services/admin/typings.d.ts
index 3ff4074..cc2c921 100644
--- a/apps/admin/services/admin/typings.d.ts
+++ b/apps/admin/services/admin/typings.d.ts
@@ -879,6 +879,10 @@ declare namespace API {
list: PlatformInfo[];
};
+ type PrivacyPolicyConfig = {
+ privacy_policy: string;
+ };
+
type PubilcRegisterConfig = {
stop_register: boolean;
enable_ip_register_limit: boolean;
diff --git a/apps/admin/services/common/common.ts b/apps/admin/services/common/common.ts
index d200045..685ef9c 100644
--- a/apps/admin/services/common/common.ts
+++ b/apps/admin/services/common/common.ts
@@ -42,6 +42,14 @@ export async function getGlobalConfig(options?: { [key: string]: any }) {
});
}
+/** Get Privacy Policy GET /v1/common/site/privacy */
+export async function getPrivacyPolicy(options?: { [key: string]: any }) {
+ return request('/v1/common/site/privacy', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
/** Get stat GET /v1/common/site/stat */
export async function getStat(options?: { [key: string]: any }) {
return request('/v1/common/site/stat', {
diff --git a/apps/admin/services/common/oauth.ts b/apps/admin/services/common/oauth.ts
index 17e493f..ff6a4c0 100644
--- a/apps/admin/services/common/oauth.ts
+++ b/apps/admin/services/common/oauth.ts
@@ -32,6 +32,7 @@ export async function appleLoginCallback(
return request('/v1/auth/oauth/callback/apple', {
method: 'POST',
data: formData,
+ requestType: 'form',
...(options || {}),
});
}
diff --git a/apps/admin/services/common/typings.d.ts b/apps/admin/services/common/typings.d.ts
index 7d3974f..eca8fca 100644
--- a/apps/admin/services/common/typings.d.ts
+++ b/apps/admin/services/common/typings.d.ts
@@ -309,6 +309,10 @@ declare namespace API {
enable: boolean;
};
+ type PrivacyPolicyConfig = {
+ privacy_policy: string;
+ };
+
type PubilcRegisterConfig = {
stop_register: boolean;
enable_ip_register_limit: boolean;
diff --git a/apps/user/app/(main)/privacy-policy/page.tsx b/apps/user/app/(main)/privacy-policy/page.tsx
new file mode 100644
index 0000000..c65fe91
--- /dev/null
+++ b/apps/user/app/(main)/privacy-policy/page.tsx
@@ -0,0 +1,11 @@
+import { getPrivacyPolicy } from '@/services/common/common';
+import { Markdown } from '@workspace/ui/custom-components/markdown';
+
+export default async function Page() {
+ const { data } = await getPrivacyPolicy();
+ return (
+
+ {data.data?.privacy_policy || ''}
+
+ );
+}
diff --git a/apps/user/components/footer.tsx b/apps/user/components/footer.tsx
index 2c42b3b..f45aa52 100644
--- a/apps/user/components/footer.tsx
+++ b/apps/user/components/footer.tsx
@@ -70,6 +70,9 @@ export default function Footer() {
{t('tos')}
+
+ {t('privacyPolicy')}
+
diff --git a/apps/user/locales/cs-CZ/auth.json b/apps/user/locales/cs-CZ/auth.json
index 8b292c9..e954aa7 100644
--- a/apps/user/locales/cs-CZ/auth.json
+++ b/apps/user/locales/cs-CZ/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "nebo pomocí e-mailu",
+ "privacyPolicy": "Zásady ochrany osobních údajů",
"register": {
"description": "Vytvořte si nový účet, vyplňte své údaje pro registraci.",
"email": "Zadejte prosím platnou e-mailovou adresu.",
diff --git a/apps/user/locales/de-DE/auth.json b/apps/user/locales/de-DE/auth.json
index 94dbfea..bfc1890 100644
--- a/apps/user/locales/de-DE/auth.json
+++ b/apps/user/locales/de-DE/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "oder mit E-Mail",
+ "privacyPolicy": "Datenschutzrichtlinie",
"register": {
"description": "Erstellen Sie ein neues Konto, indem Sie Ihre Informationen ausfüllen, um sich zu registrieren.",
"email": "Bitte geben Sie eine gültige E-Mail-Adresse ein.",
diff --git a/apps/user/locales/en-US/auth.json b/apps/user/locales/en-US/auth.json
index 45946bf..ffb5775 100644
--- a/apps/user/locales/en-US/auth.json
+++ b/apps/user/locales/en-US/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telephone"
},
"orWithEmail": "Or with Email",
+ "privacyPolicy": "Privacy Policy",
"register": {
"description": "Create a new account, fill in your information to register.",
"email": "Please enter a valid email address.",
diff --git a/apps/user/locales/es-ES/auth.json b/apps/user/locales/es-ES/auth.json
index 2c7850b..86d6bca 100644
--- a/apps/user/locales/es-ES/auth.json
+++ b/apps/user/locales/es-ES/auth.json
@@ -23,6 +23,7 @@
"mobile": "Teléfono"
},
"orWithEmail": "o usar correo electrónico",
+ "privacyPolicy": "Política de Privacidad",
"register": {
"description": "Crea una nueva cuenta, completa tu información para registrarte.",
"email": "Por favor, introduce una dirección de correo electrónico válida.",
diff --git a/apps/user/locales/es-MX/auth.json b/apps/user/locales/es-MX/auth.json
index 515fcb0..380537c 100644
--- a/apps/user/locales/es-MX/auth.json
+++ b/apps/user/locales/es-MX/auth.json
@@ -23,6 +23,7 @@
"mobile": "Teléfono"
},
"orWithEmail": "o usar correo electrónico",
+ "privacyPolicy": "Política de Privacidad",
"register": {
"description": "Crea una nueva cuenta, completa tu información para registrarte.",
"email": "Por favor, ingresa una dirección de correo electrónico válida.",
diff --git a/apps/user/locales/fa-IR/auth.json b/apps/user/locales/fa-IR/auth.json
index d096f11..c7c85ba 100644
--- a/apps/user/locales/fa-IR/auth.json
+++ b/apps/user/locales/fa-IR/auth.json
@@ -23,6 +23,7 @@
"mobile": "تلفن"
},
"orWithEmail": "یا با ایمیل",
+ "privacyPolicy": "سیاست حفظ حریم خصوصی",
"register": {
"description": "ایجاد یک حساب کاربری جدید، اطلاعات خود را برای ثبتنام وارد کنید.",
"email": "لطفاً یک آدرس ایمیل معتبر وارد کنید.",
diff --git a/apps/user/locales/fi-FI/auth.json b/apps/user/locales/fi-FI/auth.json
index adcba1d..5064a8b 100644
--- a/apps/user/locales/fi-FI/auth.json
+++ b/apps/user/locales/fi-FI/auth.json
@@ -23,6 +23,7 @@
"mobile": "Puhelin"
},
"orWithEmail": "tai käytä sähköpostia",
+ "privacyPolicy": "Tietosuojakäytäntö",
"register": {
"description": "Luo uusi tili täyttämällä tietosi rekisteröityäksesi.",
"email": "Anna kelvollinen sähköpostiosoite.",
diff --git a/apps/user/locales/fr-FR/auth.json b/apps/user/locales/fr-FR/auth.json
index 496617a..54dffd8 100644
--- a/apps/user/locales/fr-FR/auth.json
+++ b/apps/user/locales/fr-FR/auth.json
@@ -23,6 +23,7 @@
"mobile": "Téléphone"
},
"orWithEmail": "ou utiliser l'e-mail",
+ "privacyPolicy": "Politique de confidentialité",
"register": {
"description": "Créez un nouveau compte, remplissez vos informations pour vous inscrire.",
"email": "Veuillez entrer une adresse email valide.",
diff --git a/apps/user/locales/hi-IN/auth.json b/apps/user/locales/hi-IN/auth.json
index 7f80c61..fc47c6b 100644
--- a/apps/user/locales/hi-IN/auth.json
+++ b/apps/user/locales/hi-IN/auth.json
@@ -23,6 +23,7 @@
"mobile": "टेलीफोन"
},
"orWithEmail": "या ईमेल का उपयोग करें",
+ "privacyPolicy": "गोपनीयता नीति",
"register": {
"description": "नया खाता बनाएं, पंजीकरण के लिए अपनी जानकारी भरें।",
"email": "कृपया एक मान्य ईमेल पता दर्ज करें।",
diff --git a/apps/user/locales/hu-HU/auth.json b/apps/user/locales/hu-HU/auth.json
index c0dc47c..4320222 100644
--- a/apps/user/locales/hu-HU/auth.json
+++ b/apps/user/locales/hu-HU/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "vagy használja az e-mailt",
+ "privacyPolicy": "Adatvédelmi irányelvek",
"register": {
"description": "Hozzon létre új fiókot, töltse ki adatait a regisztrációhoz.",
"email": "Kérjük, adjon meg egy érvényes e-mail címet.",
diff --git a/apps/user/locales/ja-JP/auth.json b/apps/user/locales/ja-JP/auth.json
index 7c65ec6..e86934c 100644
--- a/apps/user/locales/ja-JP/auth.json
+++ b/apps/user/locales/ja-JP/auth.json
@@ -23,6 +23,7 @@
"mobile": "電話"
},
"orWithEmail": "またはメールを使用",
+ "privacyPolicy": "プライバシーポリシー",
"register": {
"description": "新しいアカウントを作成し、情報を入力して登録してください。",
"email": "有効なメールアドレスを入力してください。",
diff --git a/apps/user/locales/ko-KR/auth.json b/apps/user/locales/ko-KR/auth.json
index 5cf192d..ddaba9b 100644
--- a/apps/user/locales/ko-KR/auth.json
+++ b/apps/user/locales/ko-KR/auth.json
@@ -23,6 +23,7 @@
"mobile": "전화"
},
"orWithEmail": "또는 이메일 사용",
+ "privacyPolicy": "개인정보 처리방침",
"register": {
"description": "새 계정을 생성하고 정보를 입력하여 등록하세요.",
"email": "유효한 이메일 주소를 입력해 주세요.",
diff --git a/apps/user/locales/no-NO/auth.json b/apps/user/locales/no-NO/auth.json
index 6fe80b2..7434cb9 100644
--- a/apps/user/locales/no-NO/auth.json
+++ b/apps/user/locales/no-NO/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "eller bruk e-post",
+ "privacyPolicy": "Personvernerklæring",
"register": {
"description": "Opprett en ny konto, fyll inn informasjonen din for å registrere deg.",
"email": "Vennligst oppgi en gyldig e-postadresse.",
diff --git a/apps/user/locales/pl-PL/auth.json b/apps/user/locales/pl-PL/auth.json
index b9cf2eb..a4ea24b 100644
--- a/apps/user/locales/pl-PL/auth.json
+++ b/apps/user/locales/pl-PL/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "lub użyj e-maila",
+ "privacyPolicy": "Polityka Prywatności",
"register": {
"description": "Utwórz nowe konto, wypełnij swoje dane, aby się zarejestrować.",
"email": "Proszę wprowadzić prawidłowy adres e-mail.",
diff --git a/apps/user/locales/pt-BR/auth.json b/apps/user/locales/pt-BR/auth.json
index 2669cc3..1c13bf0 100644
--- a/apps/user/locales/pt-BR/auth.json
+++ b/apps/user/locales/pt-BR/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefone"
},
"orWithEmail": "ou use o e-mail",
+ "privacyPolicy": "Política de Privacidade",
"register": {
"description": "Crie uma nova conta, preencha suas informações para se registrar.",
"email": "Por favor, insira um endereço de e-mail válido.",
diff --git a/apps/user/locales/ro-RO/auth.json b/apps/user/locales/ro-RO/auth.json
index 89f7029..0c0a2e0 100644
--- a/apps/user/locales/ro-RO/auth.json
+++ b/apps/user/locales/ro-RO/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "sau folosește e-mailul",
+ "privacyPolicy": "Politica de confidențialitate",
"register": {
"description": "Creați un cont nou, completați informațiile dvs. pentru a vă înregistra.",
"email": "Vă rugăm să introduceți o adresă de email validă.",
diff --git a/apps/user/locales/ru-RU/auth.json b/apps/user/locales/ru-RU/auth.json
index 3237ea3..f7a26c9 100644
--- a/apps/user/locales/ru-RU/auth.json
+++ b/apps/user/locales/ru-RU/auth.json
@@ -23,6 +23,7 @@
"mobile": "Телефон"
},
"orWithEmail": "или с помощью электронной почты",
+ "privacyPolicy": "Политика конфиденциальности",
"register": {
"description": "Создайте новый аккаунт, заполните свои данные для регистрации.",
"email": "Пожалуйста, введите действительный адрес электронной почты.",
diff --git a/apps/user/locales/th-TH/auth.json b/apps/user/locales/th-TH/auth.json
index 828ff39..44bdf2b 100644
--- a/apps/user/locales/th-TH/auth.json
+++ b/apps/user/locales/th-TH/auth.json
@@ -23,6 +23,7 @@
"mobile": "โทรศัพท์"
},
"orWithEmail": "หรือใช้ที่อยู่อีเมล",
+ "privacyPolicy": "นโยบายความเป็นส่วนตัว",
"register": {
"description": "สร้างบัญชีใหม่ กรอกข้อมูลของคุณเพื่อสมัครสมาชิก",
"email": "กรุณากรอกที่อยู่อีเมลที่ถูกต้อง",
diff --git a/apps/user/locales/tr-TR/auth.json b/apps/user/locales/tr-TR/auth.json
index 658ee49..0c1d538 100644
--- a/apps/user/locales/tr-TR/auth.json
+++ b/apps/user/locales/tr-TR/auth.json
@@ -23,6 +23,7 @@
"mobile": "Telefon"
},
"orWithEmail": "veya e-posta ile",
+ "privacyPolicy": "Gizlilik Politikası",
"register": {
"description": "Yeni bir hesap oluşturun, kaydolmak için bilgilerinizi doldurun.",
"email": "Lütfen geçerli bir e-posta adresi girin.",
diff --git a/apps/user/locales/uk-UA/auth.json b/apps/user/locales/uk-UA/auth.json
index 9fe0006..358ef94 100644
--- a/apps/user/locales/uk-UA/auth.json
+++ b/apps/user/locales/uk-UA/auth.json
@@ -23,6 +23,7 @@
"mobile": "Телефон"
},
"orWithEmail": "або використовуйте електронну пошту",
+ "privacyPolicy": "Політика конфіденційності",
"register": {
"description": "Створіть новий обліковий запис, заповніть ваші дані для реєстрації.",
"email": "Будь ласка, введіть дійсну електронну адресу.",
diff --git a/apps/user/locales/vi-VN/auth.json b/apps/user/locales/vi-VN/auth.json
index 50f785e..7881b63 100644
--- a/apps/user/locales/vi-VN/auth.json
+++ b/apps/user/locales/vi-VN/auth.json
@@ -23,6 +23,7 @@
"mobile": "Điện thoại"
},
"orWithEmail": "hoặc sử dụng email",
+ "privacyPolicy": "Chính sách bảo mật",
"register": {
"description": "Tạo tài khoản mới, điền thông tin của bạn để đăng ký.",
"email": "Vui lòng nhập địa chỉ email hợp lệ.",
diff --git a/apps/user/locales/zh-CN/auth.json b/apps/user/locales/zh-CN/auth.json
index 0adc10b..29599be 100644
--- a/apps/user/locales/zh-CN/auth.json
+++ b/apps/user/locales/zh-CN/auth.json
@@ -23,6 +23,7 @@
"mobile": "电话"
},
"orWithEmail": "或使用邮箱",
+ "privacyPolicy": "隐私政策",
"register": {
"description": "创建新账户,填写您的信息以注册。",
"email": "请输入有效的电子邮件地址。",
diff --git a/apps/user/locales/zh-HK/auth.json b/apps/user/locales/zh-HK/auth.json
index 22f9929..8d16a20 100644
--- a/apps/user/locales/zh-HK/auth.json
+++ b/apps/user/locales/zh-HK/auth.json
@@ -23,6 +23,7 @@
"mobile": "電話"
},
"orWithEmail": "或使用電子郵件",
+ "privacyPolicy": "私隱政策",
"register": {
"description": "建立新帳戶,填寫您的資訊以註冊。",
"email": "請輸入有效的電郵地址。",
diff --git a/apps/user/services/common/common.ts b/apps/user/services/common/common.ts
index d200045..685ef9c 100644
--- a/apps/user/services/common/common.ts
+++ b/apps/user/services/common/common.ts
@@ -42,6 +42,14 @@ export async function getGlobalConfig(options?: { [key: string]: any }) {
});
}
+/** Get Privacy Policy GET /v1/common/site/privacy */
+export async function getPrivacyPolicy(options?: { [key: string]: any }) {
+ return request('/v1/common/site/privacy', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
/** Get stat GET /v1/common/site/stat */
export async function getStat(options?: { [key: string]: any }) {
return request('/v1/common/site/stat', {
diff --git a/apps/user/services/common/oauth.ts b/apps/user/services/common/oauth.ts
index 17e493f..ff6a4c0 100644
--- a/apps/user/services/common/oauth.ts
+++ b/apps/user/services/common/oauth.ts
@@ -32,6 +32,7 @@ export async function appleLoginCallback(
return request('/v1/auth/oauth/callback/apple', {
method: 'POST',
data: formData,
+ requestType: 'form',
...(options || {}),
});
}
diff --git a/apps/user/services/common/typings.d.ts b/apps/user/services/common/typings.d.ts
index 7d3974f..eca8fca 100644
--- a/apps/user/services/common/typings.d.ts
+++ b/apps/user/services/common/typings.d.ts
@@ -309,6 +309,10 @@ declare namespace API {
enable: boolean;
};
+ type PrivacyPolicyConfig = {
+ privacy_policy: string;
+ };
+
type PubilcRegisterConfig = {
stop_register: boolean;
enable_ip_register_limit: boolean;
diff --git a/apps/user/services/user/typings.d.ts b/apps/user/services/user/typings.d.ts
index 5990d21..215938b 100644
--- a/apps/user/services/user/typings.d.ts
+++ b/apps/user/services/user/typings.d.ts
@@ -372,6 +372,10 @@ declare namespace API {
deduction_amount: number;
};
+ type PrivacyPolicyConfig = {
+ privacy_policy: string;
+ };
+
type PubilcRegisterConfig = {
stop_register: boolean;
enable_ip_register_limit: boolean;
diff --git a/apps/user/utils/common.ts b/apps/user/utils/common.ts
index de8ca20..28ac162 100644
--- a/apps/user/utils/common.ts
+++ b/apps/user/utils/common.ts
@@ -50,7 +50,10 @@ export function Logout() {
if (!isBrowser()) return;
cookies.remove('Authorization');
const pathname = location.pathname;
- if (!['', '/', '/auth', '/tos'].includes(pathname) && !pathname.startsWith('/oauth/')) {
+ if (
+ !['', '/', '/auth', '/tos', '/privacy-policy'].includes(pathname) &&
+ !pathname.startsWith('/oauth/')
+ ) {
setRedirectUrl(location.pathname);
location.href = `/auth`;
}