From 0b65108db3b0d5bc2e5a839e44d1f43ddc7a7d2f Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Apr 2025 19:06:15 -0400 Subject: [PATCH] fix: Update EventAdmin component to handle items_bringing as array - Update editForm state type - Add handleItemsChange handler - Replace text field with multi-select for items --- frontend/src/components/EventAdmin.tsx | 52 ++++++++++++++++++++------ 1 file changed, 41 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/EventAdmin.tsx b/frontend/src/components/EventAdmin.tsx index 605f7d8..3c3fffa 100644 --- a/frontend/src/components/EventAdmin.tsx +++ b/frontend/src/components/EventAdmin.tsx @@ -25,6 +25,9 @@ import { FormControlLabel, Switch, SelectChangeEvent, + OutlinedInput, + ListItemText, + Checkbox, } from '@mui/material'; import DeleteIcon from '@mui/icons-material/Delete'; import EditIcon from '@mui/icons-material/Edit'; @@ -66,7 +69,7 @@ const EventAdmin: React.FC = () => { bringing_guests: 'no', guest_count: 0, guest_names: '', - items_bringing: '', + items_bringing: [] as string[], }); useEffect(() => { @@ -114,7 +117,7 @@ const EventAdmin: React.FC = () => { bringing_guests: rsvp.bringing_guests, guest_count: rsvp.guest_count, guest_names: rsvp.guest_names, - items_bringing: rsvp.items_bringing, + items_bringing: Array.isArray(rsvp.items_bringing) ? rsvp.items_bringing : [], }); setEditDialogOpen(true); }; @@ -135,6 +138,14 @@ const EventAdmin: React.FC = () => { })); }; + const handleItemsChange = (e: SelectChangeEvent) => { + const { value } = e.target; + setEditForm(prev => ({ + ...prev, + items_bringing: typeof value === 'string' ? value.split(',') : value, + })); + }; + const handleEditSubmit = async () => { if (!rsvpToEdit) return; @@ -308,15 +319,34 @@ const EventAdmin: React.FC = () => { /> )} - + {neededItems.length > 0 && ( + + What items are you bringing? + + + )}