import React, { useEffect, useRef, useState } from "react"; import NewsTicker from "react-advanced-news-ticker" import { CarouselItem } from "../ui/carousel"; // Definisikan tipe data untuk carousel item interface CarouselItem { id: number; title: string; name?: string; slug: string; fileType?: { id: number; }; createdAt: string; } const NewsBottom: React.FC = () => { const [content, setContent] = useState([]); const newsTickerRef = useRef(null); useEffect(() => { async function fetchCarouselData() { try { const response = await CarouselItem(); setContent(response.data?.data || []); console.log("Carousel data:", response.data?.data); } catch (error) { console.error("Error fetching carousel data:", error); } } fetchCarouselData(); }, []); function formatDateIndonesianWithTime(dateString: string): string { const options: Intl.DateTimeFormatOptions = { year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", }; const formattedDate = new Date(dateString).toLocaleDateString("id-ID", options); return formattedDate.replace("pukul", "-"); } const dummyNews: CarouselItem[] = Array.from({ length: 10 }, (_, index) => ({ id: index + 1, title: `Berita ${index + 1}`, name: `Penulis ${index + 1}`, slug: "", createdAt: new Date().toISOString(), })); return (
Breaking News
{content.length > 0 ? ( {content.map((item) => (
{item.title}.
{formatDateIndonesianWithTime(item.createdAt)}
))}
) : (

Loading...

// Tampilkan pesan "Loading..." saat data belum tersedia. )}
); }; export default NewsBottom;