"use client"; import { listData, listStaticBanner } from "@/service/landing/landing"; import { useParams, usePathname, useRouter } from "next/navigation"; import React, { useEffect, useState } from "react"; import Skeleton, { SkeletonTheme } from "react-loading-skeleton"; import { Link } from "@/i18n/routing"; 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"; const HeaderBannerSatker = () => { const router = useRouter(); const params = useParams(); const satkerName: any = params?.satker_name; const asPath: any = usePathname(); const [content, setContent] = useState([]); const [isBannerLoading, setIsBannerLoading] = useState(true); const [centerPadding, setCenterPadding] = useState(); 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", "", "", "satker-" + satkerName); var data = res?.data?.data?.content; if (data) { const resStatic = await listStaticBanner(satkerName, 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}

{row.title}

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

))}
)} {/* Section Kanan */}
{isBannerLoading ? ( <>
) : (
    {content?.map((item: any) => (
  • {item?.title}
    {item?.categoryName}

    {textEllipsis(item?.title, 30)}

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

  • ))}
)}
); }; export default HeaderBannerSatker;