"use client"; import { useState } from "react"; import { Button } from "@/components/ui/button"; import { Textarea } from "@/components/ui/textarea"; import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog"; import { Send } from "lucide-react"; import { toast } from "sonner"; import { apiRequest } from "@/lib/storeHelper"; // ✅ API helper // ✅ Define props type interface BroadcastDialogProps { open: boolean; setOpen: (open: boolean) => void; } interface BroadcastMessage { message: string; } export default function BroadcastDialog({ open, setOpen }: BroadcastDialogProps) { const [broadcastMessage, setBroadcastMessage] = useState(""); const [sendingBroadcast, setSendingBroadcast] = useState(false); // ✅ Send Broadcast Message const sendBroadcast = async () => { if (!broadcastMessage.trim()) { toast.warning("Broadcast message cannot be empty."); return; } try { setSendingBroadcast(true); await apiRequest("/storefront/broadcast", "POST", { message: broadcastMessage }); toast.success("Broadcast message sent successfully!"); setBroadcastMessage(""); setOpen(false); } catch (error) { toast.error("Failed to send broadcast message."); } finally { setSendingBroadcast(false); } }; return ( Global Broadcast Message