'use client'; import { useState, useEffect } from 'react'; import { api, Announcement } from '@/lib/api'; interface AnnouncementListProps { eventId: string; } export function AnnouncementList({ eventId }: AnnouncementListProps) { const [announcements, setAnnouncements] = useState([]); const [isLoading, setIsLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { loadAnnouncements(); }, [eventId]); const loadAnnouncements = async () => { try { setIsLoading(true); const data = await api.getEventAnnouncements(eventId); setAnnouncements(data); } catch (err) { setError(err instanceof Error ? err.message : 'Failed to load announcements'); } finally { setIsLoading(false); } }; if (isLoading) { return
Loading announcements...
; } if (error) { return (
{error}
); } if (announcements.length === 0) { return (
No announcements yet.
); } return (
{announcements.map((announcement) => (

{announcement.title}

{new Date(announcement.createdAt).toLocaleDateString()}

{announcement.content}

Posted by {announcement.authorName}

))}
); }