diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index bffb357a..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "next/core-web-vitals" -} diff --git a/app/[locale]/(protected)/admin/analysis/content-management/page.tsx b/app/[locale]/(protected)/admin/analysis/content-management/page.tsx new file mode 100644 index 00000000..bd14ea00 --- /dev/null +++ b/app/[locale]/(protected)/admin/analysis/content-management/page.tsx @@ -0,0 +1,196 @@ +"use client"; +import SiteBreadcrumb from "@/components/site-breadcrumb"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { useState } from "react"; +import { addDays, format } from "date-fns"; +import { Calendar as CalendarIcon } from "lucide-react"; +import { DateRange } from "react-day-picker"; + +import { cn } from "@/lib/utils"; +import { Button } from "@/components/ui/button"; +import { Calendar } from "@/components/ui/calendar"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; + +const users = [ + { id: 1, name: "POLRI" }, + { id: 2, name: "JURNALIS" }, +]; + +export default function ContentManagement() { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(new Date()); + + return ( +
+ +
+ {users.map((user) => ( + + + + KONTEN YANG DISIMPAN OLEH PENGGUNA {user.name} INDONESIA + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+ ))} + {users.map((user) => ( + + + + PENAMBAHAN JUMLAH PENGGUNA {user.name} INDONESIA + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+ ))} +
+
+ ); +} diff --git a/app/[locale]/(protected)/admin/analysis/emergency-issue/page.tsx b/app/[locale]/(protected)/admin/analysis/emergency-issue/page.tsx new file mode 100644 index 00000000..620fca5e --- /dev/null +++ b/app/[locale]/(protected)/admin/analysis/emergency-issue/page.tsx @@ -0,0 +1,113 @@ +"use client"; +import SiteBreadcrumb from "@/components/site-breadcrumb"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { useState } from "react"; +import { addDays, format } from "date-fns"; +import { Calendar as CalendarIcon } from "lucide-react"; +import { DateRange } from "react-day-picker"; + +import { cn } from "@/lib/utils"; +import { Button } from "@/components/ui/button"; +import { Calendar } from "@/components/ui/calendar"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; + +const users = [ + { id: 1, name: "POLRI" }, + { id: 2, name: "JURNALIS" }, +]; + +export default function EmergencyIssue() { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(new Date()); + + return ( +
+ +
+ + + + ANALISA BERKAITAN DENGAN AKUN PELAPOR{" "} + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+
+
+ ); +} diff --git a/app/[locale]/(protected)/admin/analysis/feedback-center/page.tsx b/app/[locale]/(protected)/admin/analysis/feedback-center/page.tsx new file mode 100644 index 00000000..bf3cb51c --- /dev/null +++ b/app/[locale]/(protected)/admin/analysis/feedback-center/page.tsx @@ -0,0 +1,113 @@ +"use client"; +import SiteBreadcrumb from "@/components/site-breadcrumb"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { useState } from "react"; +import { addDays, format } from "date-fns"; +import { Calendar as CalendarIcon } from "lucide-react"; +import { DateRange } from "react-day-picker"; + +import { cn } from "@/lib/utils"; +import { Button } from "@/components/ui/button"; +import { Calendar } from "@/components/ui/calendar"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; + +const users = [ + { id: 1, name: "POLRI" }, + { id: 2, name: "JURNALIS" }, +]; + +export default function FeedbackCenter() { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(new Date()); + + return ( +
+ +
+ + + + TICKET PADA FEEDBACK CENTER{" "} + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+
+
+ ); +} diff --git a/app/[locale]/(protected)/admin/analysis/schedule/page.tsx b/app/[locale]/(protected)/admin/analysis/schedule/page.tsx new file mode 100644 index 00000000..06a74a1b --- /dev/null +++ b/app/[locale]/(protected)/admin/analysis/schedule/page.tsx @@ -0,0 +1,330 @@ +"use client"; +import SiteBreadcrumb from "@/components/site-breadcrumb"; +import { + Accordion, + AccordionContent, + AccordionItem, + AccordionTrigger, +} from "@/components/ui/accordion"; +import { useState } from "react"; +import { addDays, format } from "date-fns"; +import { Calendar as CalendarIcon } from "lucide-react"; +import { DateRange } from "react-day-picker"; + +import { cn } from "@/lib/utils"; +import { Button } from "@/components/ui/button"; +import { Calendar } from "@/components/ui/calendar"; +import { + Popover, + PopoverContent, + PopoverTrigger, +} from "@/components/ui/popover"; + +export default function ContentManagement() { + const [startDate, setStartDate] = useState(new Date()); + const [endDate, setEndDate] = useState(new Date()); + + return ( +
+ +
+ + + + PUBLISH JADWAL PRESS CONFERENCE TERBANYAK + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+ + + + JUMLAH PRODUKSI KONTEN UNTUK KATEGORI PRESS CONFERENCE + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+ + + + TINGKAT INTERAKSI KONTEN UNTUK KATEGORI PRESS CONFERENCE + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+ + + + AKTIFITAS MEDIA BERKAITAN DENGAN PERS RILIS + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+

Tanggal Mulai

+ + + + + + + + +
+
+
+
+
+
+
+ ); +} diff --git a/app/[locale]/(protected)/admin/management-user/page.tsx b/app/[locale]/(protected)/admin/management-user/page.tsx new file mode 100644 index 00000000..76beb900 --- /dev/null +++ b/app/[locale]/(protected)/admin/management-user/page.tsx @@ -0,0 +1,10 @@ +import SiteBreadcrumb from "@/components/site-breadcrumb"; + +export default function ManagementUser() { + return ( +
+ +

STATISTIK JUMLAH PENGGUNA

+
+ ); +} diff --git a/app/[locale]/(protected)/admin/performance-polda/page.tsx b/app/[locale]/(protected)/admin/performance-polda/page.tsx new file mode 100644 index 00000000..f3d145fe --- /dev/null +++ b/app/[locale]/(protected)/admin/performance-polda/page.tsx @@ -0,0 +1,10 @@ +import SiteBreadcrumb from "@/components/site-breadcrumb"; + +export default function PerformancePolda() { + return ( +
+ +

PERFORMANCE KUMULATIF PER POLDA

+
+ ); +} diff --git a/app/[locale]/(protected)/dashboard/executive/page.tsx b/app/[locale]/(protected)/dashboard/executive/page.tsx new file mode 100644 index 00000000..3152a7f8 --- /dev/null +++ b/app/[locale]/(protected)/dashboard/executive/page.tsx @@ -0,0 +1,9 @@ +import SiteBreadcrumb from "@/components/site-breadcrumb"; + +export default function ExecutiveDashboard() { + return ( +
+ +
+ ); +} diff --git a/app/[locale]/(protected)/supervisor/knowledge-base/page.tsx b/app/[locale]/(protected)/supervisor/knowledge-base/page.tsx index fca7d79a..0e49ad74 100644 --- a/app/[locale]/(protected)/supervisor/knowledge-base/page.tsx +++ b/app/[locale]/(protected)/supervisor/knowledge-base/page.tsx @@ -50,24 +50,22 @@ const KnowledgeBase = () => { {categories?.map((category: any, index: number) => ( -
- { - fetchQuestions(category?.id); - }} - className="data-[state=active]:bg-secondary data-[state=active]:text-default rounded-md px-6 py-3 w-full justify-start" + { + fetchQuestions(category?.id); + }} + className="data-[state=active]:bg-secondary data-[state=active]:text-default rounded-md px-6 py-3 w-full justify-start" + > + {category?.name} +
deleteCategory(category?.id)} > - {category?.name} -
deleteCategory(category?.id)} - > - -
- -
+ +
+ ))}
diff --git a/app/[locale]/(public)/content-management/page.tsx b/app/[locale]/(public)/content-management/page.tsx index fe4c2f99..cdcf5a4f 100644 --- a/app/[locale]/(public)/content-management/page.tsx +++ b/app/[locale]/(public)/content-management/page.tsx @@ -19,7 +19,7 @@ const dummyContent = [ { title: "Operasi Zebra Nataru", thumbnail: "/assets/hot-topik-1.jpg", createdAt: "17 Agustus 2025", timezone: "14:20 WIB", clickCount: "28" }, ]; -const ContentManagement = (props: { type: string }) => { +const ContentManagement = () => { const [profile, setProfile] = useState(); const [province, setProvince] = useState([]); const [, setUser] = useState(); @@ -85,16 +85,18 @@ const ContentManagement = (props: { type: string }) => {
avatar -

{profile?.fullname}

-

{profile?.username}

-

- Aktif Sejak - {`${new Date(profile?.createdAt).getDate()}/${new Date(profile?.createdAt).getMonth() + 1}/${new Date(profile?.createdAt).getFullYear()} ${new Date(profile?.createdAt).getHours()}:${new Date( - profile?.createdAt - ).getMinutes()}`} -

+
+

{profile?.fullname}

+

{profile?.username}

+

+ Aktif Sejak  + {`${new Date(profile?.createdAt).getDate()}/${new Date(profile?.createdAt).getMonth() + 1}/${new Date(profile?.createdAt).getFullYear()} ${new Date(profile?.createdAt).getHours()}:${new Date( + profile?.createdAt + ).getMinutes()}`} +

+
- + Pengaturan @@ -110,29 +112,29 @@ const ContentManagement = (props: { type: string }) => {
  • -

    Email

    -

    msabdayagra@gmail.com

    - {/*

    {profile?.email}

    */} +

    Email :

    + {/*

    msabdayagra@gmail.com

    */} +

    {profile?.email}

  • -

    No Handphone

    -

    0812-7561-7204

    - {/*

    {profile?.phoneNumber}

    */} +

    No Handphone :

    + {/*

    0812-7561-7204

    */} +

    {profile?.phoneNumber}

  • -

    Alamat

    -

    Jl. Besar Tembung no.12

    - {/*

    {profile?.address}

    */} +

    Alamat :

    + {/*

    Jl. Besar Tembung no.12

    */} +

    {profile?.address}

  • -

    Kategori

    -

    POLRI

    - {/*

    {profile?.institute?.categoryRole?.name}

    */} +

    Kategori :

    + {/*

    POLRI

    */} +

    {profile?.institute?.categoryRole?.name}

  • -

    Instansi/Perusahaan

    -

    Div Humas Polri

    - {/*

    {profile?.institute?.name}

    */} +

    Instansi/Perusahaan :

    + {/*

    Div Humas Polri

    */} +

    {profile?.institute?.name}

@@ -143,7 +145,7 @@ const ContentManagement = (props: { type: string }) => {
-

Galeri Div Humas

+

Galeri {profile?.institute?.name}

@@ -189,7 +191,7 @@ const ContentManagement = (props: { type: string }) => { {/* Kontent Kanan */}
-

Galeri Div Humas

+

Galeri {profile?.institute?.name}

@@ -228,9 +230,9 @@ const ContentManagement = (props: { type: string }) => {
{selectedTab == "video" ? ( - dummyContent?.length > 0 ? ( + profile?.length > 0 ? (
- {dummyContent?.map((video: any) => ( + {profile?.map((video: any) => ( @@ -257,9 +259,9 @@ const ContentManagement = (props: { type: string }) => {

) ) : selectedTab == "audio" ? ( - dummyContent?.length > 0 ? ( + profile?.length > 0 ? (
- {dummyContent?.map((audio: any) => ( + {profile?.map((audio: any) => ( {

) ) : selectedTab == "image" ? ( - dummyContent?.length > 0 ? ( + profile?.length > 0 ? (
- {dummyContent?.map((video: any) => ( - + {profile?.map((image: any) => ( + - - + +
- {formatDateToIndonesian(new Date(video?.createdAt))} {video?.timezone ? video?.timezone : "WIB"}| - {video?.clickCount}{" "} + {formatDateToIndonesian(new Date(image?.createdAt))} {image?.timezone ? image?.timezone : "WIB"}| + {image?.clickCount}{" "} { /> {" "}
-
{video?.title}
+
{image?.title}
@@ -332,9 +334,9 @@ const ContentManagement = (props: { type: string }) => { empty

) - ) : dummyContent.length > 0 ? ( + ) : profile.length > 0 ? (
- {dummyContent?.map((document: any) => ( + {profile?.map((document: any) => (
diff --git a/components/form/content/image-ai-form.tsx b/components/form/content/image-ai-form.tsx index 20365b7b..3a9e4f3b 100644 --- a/components/form/content/image-ai-form.tsx +++ b/components/form/content/image-ai-form.tsx @@ -564,7 +564,7 @@ export default function FormImageAI() { JIka Anda tidak Memberikan kata kunci, kami akan secara otomatis membuat kata kunci yang relevan dari kata kunci utama untuk setiap bagian dan menggunakannya untuk membuat artikel. - Untuk menambahkan kata kunci baru, ketik ', + kata kunci'. + Untuk menambahkan kata kunci baru, ketik ', + kata kunci'.