'use client' import React from 'react' import { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger } from '../ui/dialog' import { toast } from 'sonner' import { Button } from '../ui/button' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '../ui/select' interface GuestBookEntry { id: string fName: string lName: string } interface EventGuest { id: string rsvp: 'YES' | 'NO' | 'PENDING' eventId: string guestBookEntryId: string guestBookEntry: GuestBookEntry } interface Props { eventGuests: EventGuest[] } export default function EventRsvpModal({ eventGuests }: Props) { const handleRsvpChange = async ( guest: EventGuest, rsvp: 'YES' | 'NO' | 'PENDING' ) => { try { const res = await fetch( `/api/events/${guest.eventId}/guests/${guest.guestBookEntryId}/rsvp`, { method: 'PATCH', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ rsvp }) } ) if (!res.ok) throw new Error('Failed to update RSVP') toast.success(`RSVP updated for ${guest.guestBookEntry.fName} ${guest.guestBookEntry.lName}`) } catch (err) { console.error('RSVP update error:', err) toast.error('Failed to update RSVP') } } return ( Manage Guest RSVPs Update RSVP statuses for each guest attending this event.
{eventGuests.length && eventGuests.map(guest => (

{guest.guestBookEntry.fName + " " + guest.guestBookEntry.lName}

))}
) }