"use client"; import { listData, listStaticBanner } from "@/service/landing/landing"; import { useParams } from "next/navigation"; import React, { useEffect, useState } from "react"; import Skeleton, { SkeletonTheme } from "react-loading-skeleton"; import { formatDateToIndonesian, getPublicLocaleTimestamp, textEllipsis } from "@/utils/globals"; import { Icon } from "@iconify/react/dist/iconify.js"; import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "@/components/ui/carousel"; import Image from "next/image"; import { useRouter } from "@/i18n/routing"; const HeaderBanner = () => { const router = useRouter(); const params = useParams(); const poldaName: any = params?.polda_name; const [content, setContent] = useState([]); const [isBannerLoading, setIsBannerLoading] = useState(true); const [centerPadding, setCenterPadding] = useState(); const satkerName = params?.satker_name; let prefixPath = poldaName ? `/polda/${poldaName}` : satkerName ? `/satker/${satkerName}` : "/"; useEffect(() => { // async function initState() { // const res = await listCarousel(); // setContent(res?.data?.data); // setCenterPadding(`${Math.trunc(Number(window.innerWidth) / 10 + 40)}px`); // } async function fetchData() { const res = await listData("1", "", "", 5, 0, "createdAt", "", "", poldaName); var data = res?.data?.data?.content; if (data) { const resStatic = await listStaticBanner(poldaName, false); for (let i = 0; i < resStatic?.data?.data?.length; i++) { const media = resStatic?.data.data[i]?.mediaUpload; media.fileTypeId = media.fileType?.id; data = data.filter((item: any) => item.id != media.id); data.splice(0, 0, media); } setContent(data); } setCenterPadding(`${Math.trunc(Number(window.innerWidth) / 10 + 40)}px`); setIsBannerLoading(false); console.log("Done"); } fetchData(); }, [params?.page]); const settings = { className: "center", // centerMode: true, infinite: true, centerPadding, slidesToShow: 2, autoplay: true, speed: 1500, autoplaySpeed: 15_000, focusOnSelect: true, responsive: [ { breakpoint: 768, settings: { arrows: false, centerMode: true, centerPadding: "60px", slidesToShow: 1, }, }, { breakpoint: 480, settings: { arrows: false, centerMode: true, centerPadding: "20px", slidesToShow: 1, }, }, ], }; return (
{/* Header Left */}
{isBannerLoading ? (
) : ( {content?.map((row: any) => (
{row?.categoryName}
router.push(prefixPath + `/image/detail/${row?.slug}`)} className="cursor-pointer">

{row.title}

{getPublicLocaleTimestamp(new Date(row?.createdAt))} WIB {" | "} {row?.clickCount}

))}
)} {/* Header Right */}
{isBannerLoading ? ( <>
) : (
    {content?.map((item: any) => (
  • {item?.title}
    {item?.categoryName}
    router.push(prefixPath + `/image/detail/${item?.slug}`)} className="cursor-pointer">

    {textEllipsis(item?.title, 30)}

    {formatDateToIndonesian(new Date(item?.createdAt))} {item?.timezone ? item?.timezone : "WIB"} |{" "} {" "} {item?.clickCount}

  • ))}
)}
); }; export default HeaderBanner;