diff --git a/app/[locale]/anti-child-sex-abuse/layout.tsx b/app/[locale]/anti-child-sex-abuse/layout.tsx
new file mode 100644
index 00000000..a06bd6d8
--- /dev/null
+++ b/app/[locale]/anti-child-sex-abuse/layout.tsx
@@ -0,0 +1,14 @@
+import Footer from "@/components/landing-page/footer";
+import Navbar from "@/components/landing-page/navbar";
+
+const layout: any = async ({ children }: { children: React.ReactNode }) => {
+ return (
+ <>
+
+ {children}
+
+ >
+ );
+};
+
+export default layout;
diff --git a/app/[locale]/anti-child-sex-abuse/page.tsx b/app/[locale]/anti-child-sex-abuse/page.tsx
new file mode 100644
index 00000000..e7e04487
--- /dev/null
+++ b/app/[locale]/anti-child-sex-abuse/page.tsx
@@ -0,0 +1,71 @@
+import { useTranslations } from "next-intl";
+
+export const metadata = {
+ title: "Anti Child Sexual Abuse & Exploitation Policy | MediaHub",
+ description:
+ "MediaHub policy against child sexual abuse and exploitation (CSAE)",
+};
+
+export default function AntiChildSexualAbusePage() {
+ const t = useTranslations("LandingPage");
+
+ return (
+
+
+

+
{t("abuse")}
+
+
+
+ {t("lastUpdate")} {new Date().toLocaleDateString()}
+
+
+
+ {t("medHave")} {t("zeroTolerance")} {t("forAny")}
+
+
+
+ {t("prohibitedContent")}
+
+
{t("prohibitedDesc")}
+
+ - {t("prohibited1")}
+ - {t("prohibited2")}
+ - {t("prohibited3")}
+ - {t("prohibited4")}
+
+
+
+ {t("enforcementTitle")}
+
+
{t("enforcementDesc")}
+
+ - {t("enforcement1")}
+ - {t("enforcement2")}
+ - {t("enforcement3")}
+
+
+
{t("reportingTitle")}
+
{t("reportingDesc")}
+
+ 📧 humaspolri.pid@gmail.com
+
+
+
+ {t("cooperationTitle")}
+
+
{t("cooperationDesc")}
+
+
+ {t("protectionTitle")}
+
+
{t("protectionDesc")}
+
+
{t("contactTitle")}
+
{t("contactDesc")}
+
+ 📧 humaspolri.pid@gmail.com
+
+
+ );
+}
diff --git a/app/[locale]/privacy-policy/layout.tsx b/app/[locale]/privacy-policy/layout.tsx
new file mode 100644
index 00000000..a06bd6d8
--- /dev/null
+++ b/app/[locale]/privacy-policy/layout.tsx
@@ -0,0 +1,14 @@
+import Footer from "@/components/landing-page/footer";
+import Navbar from "@/components/landing-page/navbar";
+
+const layout: any = async ({ children }: { children: React.ReactNode }) => {
+ return (
+ <>
+
+ {children}
+
+ >
+ );
+};
+
+export default layout;
diff --git a/app/[locale]/privacy-policy/page.tsx b/app/[locale]/privacy-policy/page.tsx
new file mode 100644
index 00000000..10b9452f
--- /dev/null
+++ b/app/[locale]/privacy-policy/page.tsx
@@ -0,0 +1,52 @@
+"use client";
+
+import { useEffect, useState } from "react";
+import { getPrivacy } from "@/service/landing/landing";
+import parse from "html-react-parser";
+import { useTranslations } from "next-intl";
+
+export default function PrivacyPolicyPage() {
+ const [privacy, setPrivacy] = useState(null);
+ const [loading, setLoading] = useState(true);
+
+ const t = useTranslations("LandingPage");
+
+ useEffect(() => {
+ async function fetchPrivacy() {
+ try {
+ const response = await getPrivacy();
+ setPrivacy(response?.data?.data?.htmlContent || "");
+ } catch (error) {
+ console.error("Failed to load privacy policy", error);
+ } finally {
+ setLoading(false);
+ }
+ }
+
+ fetchPrivacy();
+ }, []);
+
+ return (
+
+
+

+
+ {t("privacy", { defaultValue: "Privacy" })}
+
+
+ {loading && (
+
{t("loadPriv", { defaultValue: "Loading privacy policy..." })}
+ )}
+
+ {!loading && privacy && (
+
+ {parse(privacy)}
+
+ )}
+
+ {!loading && !privacy && (
+
{t("unavailablePriv", { defaultValue: "Privacy policy content is unavailable." })}
+ )}
+
+ );
+}
diff --git a/messages/en.json b/messages/en.json
index d5536714..f5198c47 100644
--- a/messages/en.json
+++ b/messages/en.json
@@ -352,6 +352,14 @@
"versionHistory": "VERSION HISTORY"
},
"LandingPage": {
+ "medHave": "MediaHub has",
+ "forAny": "for any form of child sexual abuse and exploitation. We are committed to protecting children and preventing the misuse of our platform.",
+ "zeroTolerance": "zero tolerance",
+ "prohibitedContent": "Prohibited Content",
+ "lastUpdate": "Last Update:",
+ "abuse": "Anti Child Sexual Abuse and Exploitation Policy",
+ "loadPriv": "Loading privacy policy...",
+ "unavailablePriv": "Privacy policy content is unavailable.",
"content": "Content",
"searchCoverageHere": "Find Coverage Here...",
"new": "Latest",
@@ -638,7 +646,25 @@
"sending": "Sending...",
"simultaneousSchedule": "Simultaneous Schedule",
"viewSchedule": "View Schedule",
- "timeTable1": "TIMETABLE /"
+ "timeTable1": "TIMETABLE /",
+ "prohibitedDesc": "The following content is strictly prohibited on MediaHub:",
+ "prohibited1": "Child sexual abuse material (CSAM)",
+ "prohibited2": "Any sexual content involving minors",
+ "prohibited3": "Grooming, sexual exploitation, or abuse of children",
+ "prohibited4": "Any attempt to create, distribute, store, promote, or access such content",
+ "enforcementTitle": "Enforcement Actions",
+ "enforcementDesc": "If any content or behavior violating this policy is identified:",
+ "enforcement1": "The content will be removed immediately",
+ "enforcement2": "The associated user account will be permanently banned",
+ "enforcement3": "Relevant information may be reported to law enforcement authorities when required by law",
+ "reportingTitle": "Reporting Child Abuse",
+ "reportingDesc": "MediaHub encourages users to report any suspected child abuse, exploitation, or illegal content found on the platform.",
+ "cooperationTitle": "Cooperation with Authorities",
+ "cooperationDesc": "MediaHub cooperates fully with law enforcement agencies and child protection organizations to combat child sexual abuse and exploitation.",
+ "protectionTitle": "Protection Measures",
+ "protectionDesc": "We implement reasonable safeguards, including content moderation, user reporting mechanisms, and administrative review processes to help maintain a safe platform.",
+ "contactTitle": "Contact Information",
+ "contactDesc": "If you become aware of any content that violates this policy, please contact us immediately:"
},
"FilterPage": {
"downloadableContent": "Downloadable Content",
diff --git a/messages/in.json b/messages/in.json
index ec7a6481..1e619fab 100644
--- a/messages/in.json
+++ b/messages/in.json
@@ -353,6 +353,14 @@
"versionHistory": "VERSION HISTORY"
},
"LandingPage": {
+ "lastUpdate": "Terakhir diperbarui:",
+ "medHave": "MediaHub memiliki",
+ "zeroTolerance": "toleransi nol",
+ "prohibitedContent": "Konten Terlarang",
+ "forAny": "untuk segala bentuk pelecehan dan eksploitasi seksual anak. Kami berkomitmen untuk melindungi anak-anak dan mencegah penyalahgunaan platform kami.",
+ "abuse": "Kebijakan Anti Pelecehan dan Eksploitasi Seksual Anak",
+ "loadPriv": "Memuat kebijakan privasi...",
+ "unavailablePriv": "Konten kebijakan privasi tidak tersedia.",
"resend": "Kirim Ulang",
"otpHelp": "Tidak menerima kode? Periksa folder spam Anda atau",
"content": "Konten",
@@ -639,7 +647,25 @@
"sending": "Mengirim...",
"simultaneousSchedule": "Jadwal Bersamaan",
"viewSchedule": "Lihat Jadwal",
- "timeTable1": "JADWAL /"
+ "timeTable1": "JADWAL /",
+ "prohibitedDesc": "Konten berikut dilarang keras di MediaHub:",
+ "prohibited1": "Materi pelecehan seksual anak (CSAM)",
+ "prohibited2": "Segala bentuk konten seksual yang melibatkan anak di bawah umur",
+ "prohibited3": "Grooming, eksploitasi seksual, atau pelecehan terhadap anak",
+ "prohibited4": "Upaya untuk membuat, menyebarkan, menyimpan, mempromosikan, atau mengakses konten tersebut",
+ "enforcementTitle": "Tindakan Penegakan",
+ "enforcementDesc": "Jika ditemukan konten atau perilaku yang melanggar kebijakan ini:",
+ "enforcement1": "Konten akan segera dihapus",
+ "enforcement2": "Akun terkait akan diblokir secara permanen",
+ "enforcement3": "Informasi terkait dapat dilaporkan kepada aparat penegak hukum sesuai ketentuan yang berlaku",
+ "reportingTitle": "Pelaporan Pelecehan Anak",
+ "reportingDesc": "MediaHub mendorong pengguna untuk melaporkan dugaan pelecehan, eksploitasi, atau konten ilegal yang melibatkan anak.",
+ "cooperationTitle": "Kerja Sama dengan Aparat",
+ "cooperationDesc": "MediaHub bekerja sama sepenuhnya dengan aparat penegak hukum dan organisasi perlindungan anak untuk memerangi pelecehan dan eksploitasi seksual anak.",
+ "protectionTitle": "Langkah Perlindungan",
+ "protectionDesc": "Kami menerapkan langkah perlindungan yang wajar, termasuk moderasi konten, mekanisme pelaporan pengguna, dan proses peninjauan administratif untuk menjaga keamanan platform.",
+ "contactTitle": "Informasi Kontak",
+ "contactDesc": "Jika Anda mengetahui adanya konten yang melanggar kebijakan ini, silakan segera hubungi kami:"
},
"FilterPage": {
"content": "Konten",