diff --git a/app/[locale]/(protected)/admin/analysis/content-management/page.tsx b/app/[locale]/(protected)/admin/analysis/content-management/page.tsx index bd14ea00..a278e85c 100644 --- a/app/[locale]/(protected)/admin/analysis/content-management/page.tsx +++ b/app/[locale]/(protected)/admin/analysis/content-management/page.tsx @@ -6,12 +6,12 @@ import { AccordionItem, AccordionTrigger, } from "@/components/ui/accordion"; -import { useState } from "react"; +import { useEffect, 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 Cookies from "js-cookie"; +import { cn, getCookiesDecrypt } from "@/lib/utils"; import { Button } from "@/components/ui/button"; import { Calendar } from "@/components/ui/calendar"; import { @@ -19,6 +19,7 @@ import { PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; +import { generateTicket } from "@/service/tableau/tableau-service"; const users = [ { id: 1, name: "POLRI" }, @@ -28,168 +29,277 @@ const users = [ export default function ContentManagement() { const [startDate, setStartDate] = useState(new Date()); const [endDate, setEndDate] = useState(new Date()); + const [hasMounted, setHasMounted] = useState(false); + // const t = useTranslations("AnalyticsDashboard"); + const levelName = getCookiesDecrypt("ulnae"); + const poldaState = Cookies.get("state"); + const provState = Cookies.get("state-prov"); + + const [ticket1, setTicket1] = useState(""); + const [ticket2, setTicket2] = useState(""); + const [ticket3, setTicket3] = useState(""); + const [ticket4, setTicket4] = useState(""); + const [ticket5, setTicket5] = useState(""); + const [ticket6, setTicket6] = useState(""); + const [isInternational, setIsInternational] = useState([false, false, false]); + + const baseUrl = "https://db-mediahub.polri.go.id/"; + const url = "https://db-mediahub.polri.go.id/trusted/"; + + const view1 = + levelName == "MABES POLRI" + ? isInternational[0] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-polri?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-polri?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-polri?provinsi-polda=${provState}&`; + + const view2 = + levelName == "MABES POLRI" + ? isInternational[1] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jurnalis?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jurnalis?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jurnalis?provinsi-polda=${poldaState}&`; + + const view3 = + levelName == "MABES POLRI" + ? isInternational[2] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-jurnalis-intl?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-jurnalis-intl?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-jurnalis-intl?provinsi-polda=${poldaState}&`; + + const view4 = + levelName == "MABES POLRI" + ? isInternational[3] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-satker?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-satker?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-satker?provinsi-polda=${poldaState}&`; + + const view5 = + levelName == "MABES POLRI" + ? isInternational[4] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jnl?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jnl?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-indo-jnl?provinsi-polda=${poldaState}&`; + + const view6 = + levelName == "MABES POLRI" + ? isInternational[5] + ? "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?" + : "views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?" + : `views/2023_08_MediaHUB-KtnMgt_Rev100/db-ktn-intl?provinsi-polda=${poldaState}&`; + const param = ":embed=yes&:toolbar=yes&:iframeSizedToWindow=true"; + + useEffect(() => { + async function initState() { + const response1 = await generateTicket(); + setTicket1(response1?.data?.data); + + const response2 = await generateTicket(); + setTicket2(response2?.data?.data); + + const response3 = await generateTicket(); + setTicket3(response3?.data?.data); + + const response4 = await generateTicket(); + setTicket4(response4?.data?.data); + + const response5 = await generateTicket(); + setTicket5(response5?.data?.data); + + const response6 = await generateTicket(); + setTicket6(response6?.data?.data); + } + + initState(); + }, [isInternational]); + + // Hooks + useEffect(() => { + setHasMounted(true); + }, []); + + // Render + if (!hasMounted) return null; + + const handleInternational = (index: number, val: boolean) => { + const updatedIsInternational = [...isInternational]; + + updatedIsInternational[index] = val; + setIsInternational(updatedIsInternational); + }; return (
- {users.map((user) => ( - - - - KONTEN YANG DISIMPAN OLEH PENGGUNA {user.name} INDONESIA - - -
-
-

Tanggal Mulai

- - - - - - - - -
-
-

Tanggal Mulai

- - - - - - - - -
+ + + + KONTEN YANG DISIMPAN OLEH PENGGUNA POLRI INDONESIA + + +
+
+ {ticket1 == "" ? ( +