diff --git a/app/[locale]/(protected)/admin/settings/popup/component/popup-table.tsx b/app/[locale]/(protected)/admin/settings/popup/component/popup-table.tsx index aaab2881..b6dab3d0 100644 --- a/app/[locale]/(protected)/admin/settings/popup/component/popup-table.tsx +++ b/app/[locale]/(protected)/admin/settings/popup/component/popup-table.tsx @@ -28,7 +28,7 @@ import { useSearchParams } from "next/navigation"; import { close, loading } from "@/config/swal"; import { Link, useRouter } from "@/i18n/routing"; import columns from "./popup-column"; -import { listBanner, listStaticBanner } from "@/service/settings/settings"; +import { getListPopUp, listBanner, listStaticBanner } from "@/service/settings/settings"; import { listDataPopUp } from "@/service/broadcast/broadcast"; const PopUpListTable = () => { @@ -84,82 +84,73 @@ const PopUpListTable = () => { React.useEffect(() => { if (dataChange) { - router.push("/admin/settings/banner"); + router.push("/admin/settings/popup"); } - getListBanner(); + getPopUp(); }, [dataChange]); React.useEffect(() => { - getListBanner(); + getPopUp(); // getListStaticBanner(); }, [page, showData]); - async function getListBanner() { + async function getPopUp() { loading(); let temp: any; - // const response = await listDataPopUp( - // page - 1, - // showData, - // "", - // categoryFilter?.sort().join(","), - // statusFilter?.sort().join(",") - // ); - // const data = response?.data?.data?.content; - // console.log("banner", data); - // setGetData(data); - - const response = await listBanner(); - const data = response?.data?.data?.content; - console.log("banner", data); - setGetData(data); + const response = await getListPopUp(); + const data = response?.data?.data?.content; + console.log("banner", data); + setGetData(data); close(); } return ( <> - - - {table.getHeaderGroups().map((headerGroup) => ( - - {headerGroup.headers.map((header) => ( - - {header.isPlaceholder - ? null - : flexRender( - header.column.columnDef.header, - header.getContext() - )} - - ))} - - ))} - - - {table.getRowModel().rows?.length ? ( - table.getRowModel().rows.map((row) => ( - - {row.getVisibleCells().map((cell) => ( - - {flexRender(cell.column.columnDef.cell, cell.getContext())} - + {table && +
+ + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => ( + + {header.isPlaceholder + ? null + : flexRender( + header.column.columnDef.header, + header.getContext() + )} + ))} - )) - ) : ( - - - No results. - - - )} - -
+ ))} + + + {table?.getRowModel()?.rows?.length ? ( + table?.getRowModel()?.rows.map((row) => ( + + {row.getVisibleCells().map((cell) => ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ))} + + )) + ) : ( + + + No results. + + + )} + + + } ); }; diff --git a/app/[locale]/(protected)/admin/settings/popup/component/table.tsx b/app/[locale]/(protected)/admin/settings/popup/component/table.tsx index acb856be..b797a310 100644 --- a/app/[locale]/(protected)/admin/settings/popup/component/table.tsx +++ b/app/[locale]/(protected)/admin/settings/popup/component/table.tsx @@ -237,7 +237,7 @@ const ContentListPopUp = () => { const { toast } = useToast(); - const handleBanner = async (ids: number[]) => { + const handlePopUp = async (ids: number[]) => { try { await Promise.all(ids.map((id) => setPopUp(id, true))); toast({ @@ -413,7 +413,7 @@ const ContentListPopUp = () => { Pilih Semua {selectedItems.length > 0 && ( - )} diff --git a/components/landing-page/event-calender.tsx b/components/landing-page/event-calender.tsx index 32252217..fb7ffca4 100644 --- a/components/landing-page/event-calender.tsx +++ b/components/landing-page/event-calender.tsx @@ -315,11 +315,11 @@ const EventCalender = () => { -
+ {/*
-
+
*/} ) : ( diff --git a/components/landing-page/hero-new-polda.tsx b/components/landing-page/hero-new-polda.tsx index c0392412..4ad07e2d 100644 --- a/components/landing-page/hero-new-polda.tsx +++ b/components/landing-page/hero-new-polda.tsx @@ -41,24 +41,6 @@ const HeroModal = ({ const swiperRef = useRef(null); useEffect(() => { - async function fetchCategories() { - const url = "https://netidhub.com/api/csrf"; - - try { - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const data = await response.json(); - return data; - } catch (error) { - console.error("Fetch error: ", error); - } - } - - fetchCategories(); initFetch(); }, []); @@ -269,32 +251,39 @@ const HeroNewPolda = (props: { group?: string }) => { }, []); useEffect(() => { - async function fetchCategories() { - const url = "https://netidhub.com/api/csrf"; - - try { - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const data = await response.json(); - return data; - } catch (error) { - console.error("Fetch error: ", error); - } - } - - fetchCategories(); initFetch(); }, []); const initFetch = async () => { - const response = await getHeroData(locale == "en"); - console.log(response); + const request = { + title: "", + page: 0, + size: 5, + sortBy: "createdAt", + contentTypeId: + selectedTab == "image" + ? "1" + : selectedTab == "video" + ? "2" + : selectedTab == "text" + ? "3" + : selectedTab == "audio" + ? "4" + : "", + group: + props.group == "mabes" + ? "" + : props.group == "polda" && poldaName && String(poldaName)?.length > 1 + ? poldaName + : props.group == "satker" && + satkerName && + String(satkerName)?.length > 1 + ? "satker-" + satkerName + : "", + isInt: locale == "en" ? true : false, + }; + const response = await getListContent(request); let data = response?.data?.data?.content; - setHeroData(data); if ( data && @@ -318,6 +307,7 @@ const HeroNewPolda = (props: { group?: string }) => { useEffect(() => { fecthNewContent(); }, [selectedTab]); + const fecthNewContent = async () => { console.log("Satker Name : ", satkerName); const request = { @@ -348,7 +338,6 @@ const HeroNewPolda = (props: { group?: string }) => { isInt: locale == "en" ? true : false, }; const response = await getListContent(request); - console.log("category", response); setNewContent(response?.data?.data?.content); }; diff --git a/components/landing-page/hero-new.tsx b/components/landing-page/hero-new.tsx index 1a54de51..b55b8269 100644 --- a/components/landing-page/hero-new.tsx +++ b/components/landing-page/hero-new.tsx @@ -80,6 +80,7 @@ const HeroModal = ({ : ""; useEffect(() => { + console.log("Show modal popup list"); initFetch(); }, []); @@ -103,10 +104,9 @@ const HeroModal = ({ locale == "en" ); - const banners = response?.data?.data || []; - - console.log("banner Modal", banners); - setHeroData(banners); + const interstitial = response?.data?.data || []; + console.log("banner Modal", interstitial); + setHeroData(interstitial); }; return ( @@ -230,6 +230,7 @@ const HeroNew = (props: { group?: string }) => { useEffect(() => { fecthNewContent(); }, [selectedTab]); + const fecthNewContent = async () => { console.log("Satker Name : ", satkerName); const request = { @@ -315,6 +316,7 @@ const HeroNew = (props: { group?: string }) => { // Show hero modal after 20 seconds when website is fully loaded useEffect(() => { const timer = setTimeout(() => { + console.log("Show modal popup"); setShowModal(true); }, 30000); // 30 seconds @@ -322,32 +324,39 @@ const HeroNew = (props: { group?: string }) => { }, []); useEffect(() => { - async function fetchCategories() { - const url = "https://netidhub.com/api/csrf"; - - try { - const response = await fetch(url); - - if (!response.ok) { - throw new Error(`HTTP error! status: ${response.status}`); - } - - const data = await response.json(); - return data; - } catch (error) { - console.error("Fetch error: ", error); - } - } - - fetchCategories(); initFetch(); }, []); const initFetch = async () => { - const response = await getHeroData(locale == "en"); - console.log(response); + const request = { + title: "", + page: 0, + size: 5, + sortBy: "createdAt", + contentTypeId: + selectedTab == "image" + ? "1" + : selectedTab == "video" + ? "2" + : selectedTab == "text" + ? "3" + : selectedTab == "audio" + ? "4" + : "", + group: + props.group == "mabes" + ? "" + : props.group == "polda" && poldaName && String(poldaName)?.length > 1 + ? poldaName + : props.group == "satker" && + satkerName && + String(satkerName)?.length > 1 + ? "satker-" + satkerName + : "", + isInt: locale == "en" ? true : false, + }; + const response = await getListContent(request); let data = response?.data?.data?.content; - setHeroData(data); if (data) { const resStatic = await listStaticBanner( @@ -363,8 +372,8 @@ const HeroNew = (props: { group?: string }) => { locale == "en" ); - for (let i = 0; i < resStatic?.data?.data?.length; i++) { - const media = resStatic?.data.data[i]?.mediaUpload; + for (let i = resStatic?.data?.data?.length; i >= 0 ; i--) { + const media = resStatic?.data?.data[i]; if (!media) continue; media.fileTypeId = media?.fileType?.id ?? null; data = data.filter((item: any) => item.id != media.id); @@ -399,7 +408,7 @@ const HeroNew = (props: { group?: string }) => {
{showModal && ( - setShowModal(false)} group="mabes" /> + setShowModal(false)} group={props.group || "mabes"} /> )}
{isLoading ? ( @@ -466,7 +475,7 @@ const HeroNew = (props: { group?: string }) => {
- {content?.slice(0, 3).map((item: any) => ( + {newContent?.slice(0, 3).map((item: any) => (
  • { const storedLang = getLanguage(); - if (!storedLang) { - setLanguage("in"); - setSelectedLang("in"); - + if (pathname.includes("polda")){ startTransition(() => { - router.replace(pathname, { locale: "in" }); + router.replace(pathname, { locale: "in" }); }); } else { - setSelectedLang(storedLang); - startTransition(() => { - router.replace(pathname, { locale: storedLang }); - }); + if (!storedLang) { + setLanguage("in"); + setSelectedLang("in"); + + startTransition(() => { + router.replace(pathname, { locale: "in" }); + }); + } else { + setSelectedLang(storedLang); + startTransition(() => { + router.replace(pathname, { locale: storedLang }); + }); + } } }, []); diff --git a/service/settings/settings.ts b/service/settings/settings.ts index 49058bd8..31fcdacf 100644 --- a/service/settings/settings.ts +++ b/service/settings/settings.ts @@ -153,6 +153,11 @@ export async function deleteAdvertisements(id: string | number) { return httpDeleteInterceptor(url); } +export async function getListPopUp() { + const url = `media/interstitial/pagination`; + return httpGetInterceptor(url); +} + export async function setPopUp(id: number, status: boolean) { const url = `media/interstitial?id=${id}&status=${status}`; return httpPostInterceptor(url);