// Milfers · Modal de reserva (TheFork embedded popup) // Funciona como singleton global — cualquier botón con data-open-reserva // o que dispare window.mfOpenReserva() abre el modal. const LASTAPP_URL = 'https://widget.thefork.com/b776f821-119a-4eaf-a004-190bb4b5c494'; function ReservaModal() { const [open, setOpen] = React.useState(false); React.useEffect(() => { const openHandler = () => setOpen(true); window.mfOpenReserva = openHandler; // Delegate clicks const click = (e) => { const t = e.target.closest('[data-open-reserva]'); if (t) { e.preventDefault(); openHandler(); } }; document.addEventListener('click', click); // ESC close const key = (e) => { if (e.key === 'Escape') setOpen(false); }; window.addEventListener('keydown', key); return () => { document.removeEventListener('click', click); window.removeEventListener('keydown', key); }; }, []); // Body scroll lock React.useEffect(() => { document.body.style.overflow = open ? 'hidden' : ''; }, [open]); if (!open) return null; return (
{window.t('modal.eyebrow')}

{window.t('modal.title')}