"use client"; import { ChevronLeft } from "lucide-react"; import { useEffect } from "react"; import { AnnouncementsEmptyState } from "@/components/announcements/AnnouncementsEmptyState"; import { AnnouncementCard } from "@/components/announcements/AnnouncementCard"; import { Button } from "@/components/ui/button"; import { useAnnouncements } from "@/hooks/use-announcements"; import { useMediaQuery } from "@/hooks/use-media-query"; import { SidebarSlideOutPanel } from "./SidebarSlideOutPanel"; interface AnnouncementsSidebarProps { open: boolean; onOpenChange: (open: boolean) => void; onCloseMobileSidebar?: () => void; } export function AnnouncementsSidebar({ open, onOpenChange, onCloseMobileSidebar, }: AnnouncementsSidebarProps) { const isMobile = !useMediaQuery("(min-width: 640px)"); const { announcements, markAllRead } = useAnnouncements(); useEffect(() => { if (!open) return; markAllRead(); }, [open, markAllRead]); const body = (
{isMobile && ( )}

Announcements

{announcements.length === 0 ? ( ) : (
{announcements.map((announcement) => ( ))}
)}
); return ( {body} ); }