import { useState, useEffect } from 'react' import { createGuest, updateGuest } from '../api/api' import './GuestForm.css' function GuestForm({ eventId, guest, onGuestCreated, onGuestUpdated, onCancel }) { const [formData, setFormData] = useState({ first_name: '', last_name: '', email: '', phone_number: '', rsvp_status: 'invited', meal_preference: '', has_plus_one: false, plus_one_name: '', companion_count: 0, notes: '', table_number: '' }) const [loading, setLoading] = useState(false) const [error, setError] = useState('') useEffect(() => { if (guest) { setFormData(guest) } }, [guest]) const handleChange = (e) => { const { name, value, type, checked } = e.target setFormData({ ...formData, [name]: type === 'checkbox' ? checked : value }) } const handleSubmit = async (e) => { e.preventDefault() setLoading(true) setError('') try { if (guest) { await onGuestUpdated(guest.id, formData) } else { await onGuestCreated(formData) } } catch (err) { setError(err.response?.data?.detail || 'Failed to save guest') console.error('Error saving guest:', err) } finally { setLoading(false) } } return (