'use client' import { useState } from 'react' import AddGuestBookEntryModal from '@/components/AddGuestBookEntryModal' import GuestBookList from '@/components/GuestBookList' import TableIcon from './icons/TableIcon' import GuestCardIcon from './icons/GuestCardIcon' interface GuestBookEntry { id: string fName: string lName: string side: string email?: string | null phone?: string | null address?: string | null notes?: string | null } export default function GuestBookPageClient({ entries }: { entries: GuestBookEntry[] }) { const [isOpen, setIsOpen] = useState(false); const [view, setView] = useState<'CARD' | 'TABLE'>('TABLE') async function handleAddGuest(data: { fName: string lName: string email?: string phone?: string address?: string side: string notes?: string }) { try { const res = await fetch('/api/guestbook/add', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(data), }) if (!res.ok) { const { message } = await res.json() throw new Error(message || 'Failed to add guest') } // Optionally: re-fetch entries or mutate state here } catch (err) { console.error('Error adding guest:', err) } } return (