"use client" import { useState } from "react" import { useRouter } from "next/navigation" import { PlusCircle } from "lucide-react" import { Button } from "@/shared/components/ui/button" import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/shared/components/ui/dialog" import { AnnouncementForm } from "./announcement-form" import { AnnouncementList } from "./announcement-list" import type { Announcement, AnnouncementStatus } from "../types" export function AdminAnnouncementsView({ announcements, grades = [], classes = [], initialStatus, }: { announcements: Announcement[] grades?: { id: string; name: string }[] classes?: { id: string; name: string }[] initialStatus?: AnnouncementStatus }) { const router = useRouter() const [createOpen, setCreateOpen] = useState(false) const handleOpenChange = (open: boolean) => { setCreateOpen(open) if (!open) router.refresh() } return (

Announcements

Create and manage school-wide announcements.

`/admin/announcements/${id}`} /> New Announcement
) }