import { formatDateToIndonesian, shimmer, toBase64 } 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"; import { TabsList, TabsTrigger, TabsContent } from "@radix-ui/react-tabs"; import { Input } from "postcss"; import { Button } from "react-day-picker"; import { Label } from "recharts"; import { CardHeader, CardTitle, CardDescription, CardContent, CardFooter, } from "../ui/card"; import { Tabs } from "../ui/tabs"; 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); }; const shimmer = (w: number, h: number) => ` `; const toBase64 = (str: string) => typeof window === "undefined" ? Buffer.from(str).toString("base64") : window.btoa(str); 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}

    {item?.title}

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

  • ))}
)}
); }; export default Hero;