"use client"; import { useTranslations } from "next-intl"; import React, { useEffect, useState } from "react"; import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon, ChevronUpIcon, FbIconNav, IdnIcon, IgIcon, SearchIcon, SearchIcons, TtIcon, TwIcon, UKIcon, YtIcon, } from "../icons"; import Link from "next/link"; import { Dropdown, DropdownTrigger, DropdownMenu, DropdownItem, Button, Input, Modal, ModalContent, ModalHeader, ModalBody, useDisclosure, Popover, PopoverTrigger, PopoverContent, Accordion, AccordionItem, } from "@heroui/react"; import storedLanguage from "@/store/language-store"; import { ThemeSwitch } from "../theme-switch"; import { siteConfig, SiteConfig } from "@/config/site"; import { getAdvertise } from "@/services/advertisement"; import Image from "next/image"; const images = [ "/landing-1.jpg", "/landing-2.jpg", "/landing-3.jpg", "/landing-4.jpg", ]; interface Jumbotron { id: number; title: string; description: string; redirectLink: string; contentFileUrl: string; } export default function BannerHumasNew() { // const t = useTranslations("Banner"); const { isOpen, onOpen, onOpenChange } = useDisclosure(); const [currentIndex, setCurrentIndex] = useState(0); const [resetTimer, setResetTimer] = useState(0); const [onOpenDropdown, setOnOpenDropdown] = useState(false); const [searchValue, setSearchValue] = useState(""); const [jumbotronList, setJumbotronList] = useState([]); const language = storedLanguage((state) => state.locale); const setLanguage = storedLanguage((state) => state.setLocale); useEffect(() => { const interval = setInterval(() => { setCurrentIndex((prevIndex) => (prevIndex + 1) % jumbotronList?.length); }, 25000); return () => clearInterval(interval); }, [resetTimer]); const nextImage = () => { setCurrentIndex((prevIndex) => (prevIndex + 1) % jumbotronList?.length); setResetTimer((prev) => prev + 1); }; const prevImage = () => { setCurrentIndex( (prevIndex) => (prevIndex - 1 + jumbotronList?.length) % jumbotronList?.length ); setResetTimer((prev) => prev + 1); }; useEffect(() => { initFetch(); }, []); const initFetch = async () => { const req = { page: 1, limit: 5, placement: "jumbotron", isPublish: true }; const res = await getAdvertise(req); setJumbotronList(res?.data?.data); }; const MenuPopover = (props: { title: string; menus: any; placement: "right" | "right-end" | "right-start"; withImage: boolean; }) => { const { title, placement, menus, withImage } = props; return ( {title}
{menus?.map((menu: any) => ( {withImage && ( logo )}

{menu.label}

{withImage && (

{menu.desc}

)}
))}
); }; const MenuPopoverMobile = (props: { title: string; menus: any; placement: "right" | "right-end" | "right-start"; withImage: boolean; }) => { const { title, placement, menus, withImage } = props; return (
{menus?.map((menu: any) => ( {withImage && ( logo )}

{menu.label}

))}
); }; const [hasMounted, setHasMounted] = useState(false); useEffect(() => { setHasMounted(true); }, []); // Render if (!hasMounted) return null; return (
{jumbotronList?.length > 0 ? ( jumbotronList?.map((img, index) => ( {`humasbanner-${index}`} )) ) : ( {`humasbanner-1`} )}

{/* {t("welcome")} */} SELAMAT DATANG DI WEBSITE RESMI DIVISI HUMAS POLRI

OBYEKTIF - DIPERCAYA - PARTISIPASI

logo-humas
} />
); }