import { useState, useEffect } from 'react' import { useNavigate, useParams, Link } from 'react-router-dom' import { useAuth } from '../context/AuthContext' export default function EditGuestForm() { const { id } = useParams() const { authFetch, user } = useAuth() const navigate = useNavigate() const [form, setForm] = useState({ prenom: '', nom: '', societe: '', activite: '', telephone: '', email: '', site_web: '', commentaires: '', date_club: '', }) const [error, setError] = useState('') const [busy, setBusy] = useState(false) const [showBlockedModal, setShowBlockedModal] = useState(false) useEffect(() => { authFetch(`/api/guests/${id}`) .then((r) => (r.ok ? r.json() : null)) .then((data) => { if (data) setForm({ prenom: data.prenom || '', nom: data.nom || '', societe: data.societe || '', activite: data.activite || '', telephone: data.telephone || '', email: data.email || '', site_web: data.site_web || '', commentaires: data.commentaires || '', date_club: data.date_club ? data.date_club.split('T')[0] : '', }) }) }, [id]) const handleChange = (e) => { const { name, value } = e.target setForm((f) => ({ ...f, [name]: value })) } const handleSubmit = async (e) => { e.preventDefault() setError('') const BLOCKED_DATES = ['2026-10-20', '2026-12-15'] if (BLOCKED_DATES.includes(form.date_club)) { setShowBlockedModal(true) return } setBusy(true) try { const r = await authFetch(`/api/guests/${id}`, { method: 'PUT', body: JSON.stringify(form), }) if (!r.ok) { const err = await r.json() throw new Error(err.error || 'Erreur') } navigate('/guests') } catch (err) { setError(err.message) } finally { setBusy(false) } } return (
Cette date n'accepte pas de nouveaux invités.