"use client"; import { Link } from "@/components/navigation"; import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, } from "@/components/ui/carousel"; import { listCuratedContent } from "@/service/curated-content/curated-content"; import { getListContent } from "@/service/landing/landing"; import { formatDateToIndonesian, generateLocalizedPath, textEllipsis, } from "@/utils/globals"; import { Icon } from "@iconify/react/dist/iconify.js"; import { useParams, usePathname, useRouter } from "next/navigation"; import React, { Component, useEffect, useState } from "react"; const TeksAll = () => { const [documentData, setDocumentData] = useState(); const [displayDocument, setDisplayDocument] = useState([]); const [page, setPage] = useState(1); const [limit, setLimit] = React.useState(10); const [search, setSearch] = React.useState(""); useEffect(() => { initFetch(); }, [page, limit, search]); useEffect(() => { if (documentData?.length > 0) { shuffleAndSetVideos(); const interval = setInterval(shuffleAndSetVideos, 5000); return () => clearInterval(interval); // Cleanup interval on unmount } }, [documentData]); const initFetch = async () => { const response = await listCuratedContent(search, limit, page - 1, 3, "1"); console.log(response); const data = response?.data?.data; const contentData = data?.content; setDocumentData(contentData); }; const shuffleAndSetVideos = () => { const shuffled = shuffleArray([...documentData]); setDisplayDocument(shuffled.slice(0, 2)); }; const shuffleArray = (array: any[]) => { for (let i = array.length - 1; i > 0; i--) { const j = Math.floor(Math.random() * (i + 1)); [array[i], array[j]] = [array[j], array[i]]; } return array; }; return (
{displayDocument?.map((document: any) => (
{formatDateToIndonesian(new Date(document?.createdAt))}{" "} {document?.timezone ? document?.timezone : "WIB"} |{" "} 518
{document?.title}
Download Dokumen
))}
); }; export default TeksAll;