Improve current guest management
This commit is contained in:
@@ -224,7 +224,7 @@ const GuestListTable = ({ event }: GuestListTableProps) => {
|
|||||||
|
|
||||||
await deleteGuest(currentGuest.id);
|
await deleteGuest(currentGuest.id);
|
||||||
setFormData(initialState);
|
setFormData(initialState);
|
||||||
setCurrentGuestId(null);
|
setCurrentGuest(null);
|
||||||
toast.success("Guest deleted successfully");
|
toast.success("Guest deleted successfully");
|
||||||
|
|
||||||
setDeleteDialogOpen(false);
|
setDeleteDialogOpen(false);
|
||||||
@@ -323,8 +323,24 @@ const GuestListTable = ({ event }: GuestListTableProps) => {
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
setFormData(currentGuest || initialState);
|
// When add dialog opens, always reset to initial state
|
||||||
}, [currentGuest, addGuestOpen, editGuestOpen]);
|
if (addGuestOpen) {
|
||||||
|
setFormData(initialState);
|
||||||
|
setCurrentGuest(null);
|
||||||
|
}
|
||||||
|
// When edit dialog opens, form data should reflect the current guest
|
||||||
|
else if (editGuestOpen && currentGuest) {
|
||||||
|
setFormData({
|
||||||
|
full_name: currentGuest.full_name,
|
||||||
|
email: currentGuest.email || "",
|
||||||
|
phone: currentGuest.phone || "",
|
||||||
|
max_additional_guests: currentGuest.max_additional_guests || 0,
|
||||||
|
dietary_restrictions: currentGuest.dietary_restrictions || "",
|
||||||
|
notes: currentGuest.notes || "",
|
||||||
|
can_bring_guests: currentGuest.can_bring_guests || false,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, [addGuestOpen, editGuestOpen, currentGuest]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="space-y-4 w-full">
|
<div className="space-y-4 w-full">
|
||||||
|
|||||||
Reference in New Issue
Block a user