import { formatDateToIndonesian, textEllipsis } from "@/utils/globals"; import React, { useEffect, useState } from "react"; import "swiper/css/bundle"; import "swiper/css/navigation"; import { getHeroData } from "@/service/landing/landing"; import Link from "next/link"; import { useParams, usePathname, useRouter } from "next/navigation"; import { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious } from "@/components/ui/carousel"; import { Skeleton } from "../ui/skeleton"; import Image from "next/image"; const Hero: React.FC = () => { const router = useRouter(); const pathname = usePathname(); const params = useParams(); const locale = params?.locale; const [isLoading, setIsLoading] = useState(true); const [heroData, setHeroData] = useState(); useEffect(() => { const timer = setTimeout(() => { setIsLoading(false); }, 3000); return () => clearTimeout(timer); }, []); useEffect(() => { async function fetchCategories() { const url = "https://netidhub.com/api/csrf"; try { const response = await fetch(url); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); return data; // Menampilkan data yang diterima dari API } catch (error) { console.error("Fetch error: ", error); } } fetchCategories(); initFetch(); }, []); const initFetch = async () => { const response = await getHeroData(); console.log(response); setHeroData(response?.data?.data?.content); }; return (
{/* Section Gambar Utama */} {isLoading ? (
) : ( {heroData?.map((list: any) => (
gambar-utama
{list?.categoryName}

{list?.title}

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

))}
)} {/* Section Kanan */}
{isLoading ? ( <>
) : (
    {heroData?.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 Hero;