"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 { hasData } from "jquery"; import { useParams, usePathname, useRouter } from "next/navigation"; import React, { Component, useEffect, useState } from "react"; const AudioSliderPage = () => { const [audioData, setAudioData] = useState(); const [displayAudio, setDisplayAudio] = useState([]); const [page, setPage] = useState(1); const [limit, setLimit] = React.useState(10); const [search, setSearch] = React.useState(""); const [hasData, setHasData] = useState(false); useEffect(() => { initFetch(); }, [page, limit, search]); // useEffect(() => { // if (audioData?.length > 0) { // shuffleAndSetVideos(); // const interval = setInterval(shuffleAndSetVideos, 5000); // return () => clearInterval(interval); // Cleanup interval on unmount // } // }, [audioData]); const initFetch = async () => { const response = await listCuratedContent(search, limit, page - 1, 4, "1"); console.log(response); const data = response?.data?.data; const contentData = data?.content; setHasData(displayAudio && displayAudio.length > 0); setDisplayAudio(contentData); }; // const shuffleAndSetVideos = () => { // const shuffled = shuffleArray([...audioData]); // setDisplayAudio(shuffled.slice(0, 3)); // }; 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 ( {Array.from({ length: 5 }).map((_, index) => (
{displayAudio?.map((audio: any) => (
{audio?.title}
))}
))}
); }; export default AudioSliderPage;