From 48d96e4b6991f7c9ca92be178fac2678cffb843c Mon Sep 17 00:00:00 2001 From: Starstrike Date: Wed, 30 Apr 2025 17:56:15 -0400 Subject: [PATCH] Add delete event button with confirmation dialog to admin page --- frontend/src/components/EventAdmin.tsx | 43 ++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/frontend/src/components/EventAdmin.tsx b/frontend/src/components/EventAdmin.tsx index 840472c..1a55e7a 100644 --- a/frontend/src/components/EventAdmin.tsx +++ b/frontend/src/components/EventAdmin.tsx @@ -75,6 +75,7 @@ const EventAdmin: React.FC = () => { guest_names: '', items_bringing: [] as string[], }); + const [deleteEventDialogOpen, setDeleteEventDialogOpen] = useState(false); useEffect(() => { fetchEventAndRsvps(); @@ -272,6 +273,16 @@ const EventAdmin: React.FC = () => { } }; + const handleDeleteEvent = async () => { + try { + await axios.delete(`/api/events/${slug}`); + navigate('/'); + } catch (error) { + setError('Failed to delete event'); + setDeleteEventDialogOpen(false); + } + }; + if (loading) { return ( @@ -434,6 +445,17 @@ const EventAdmin: React.FC = () => { + + + + { + + setDeleteEventDialogOpen(false)} + > + Delete Event + + + Are you sure you want to delete "{event.title}"? This action cannot be undone. + + + All RSVPs associated with this event will also be deleted. + + + + + + + ); };