// Hero + Story sections const Nav = () => ( ); function useCountdown(target) { const [t, setT] = React.useState(() => Math.max(0, target - Date.now())); React.useEffect(() => { const i = setInterval(() => setT(Math.max(0, target - Date.now())), 1000); return () => clearInterval(i); }, [target]); const d = Math.floor(t / 86400000); const h = Math.floor(t / 3600000 % 24); const m = Math.floor(t / 60000 % 60); const s = Math.floor(t / 1000 % 60); return { d, h, m, s }; } const Countdown = () => { const target = new Date('2026-06-06T13:00:00+02:00').getTime(); const { d, h, m, s } = useCountdown(target); const pad = (n) => String(n).padStart(2, '0'); return (
{[['días', d], ['horas', pad(h)], ['min', pad(m)], ['seg', pad(s)]].map(([l, v]) =>
{v}
{l}
)}
); }; const Hero = () => { return (
Enlace · Aroa & Daniel · 06.06.2026
León · Finca La Realeza
scroll ↓
); }; const SelloFlowers = () => null; const Lightbox = ({ src, alt, onClose }) => { React.useEffect(() => { if (!src) return; const onKey = (e) => { if (e.key === 'Escape') onClose(); }; document.addEventListener('keydown', onKey); const prev = document.body.style.overflow; document.body.style.overflow = 'hidden'; return () => { document.removeEventListener('keydown', onKey); document.body.style.overflow = prev; }; }, [src, onClose]); if (!src) return null; return ReactDOM.createPortal(
{alt} e.stopPropagation()} />
, document.body ); }; const Story = () => { const [box, setBox] = React.useState(null); const open = (src, alt) => setBox({ src, alt }); return (
01 · Nuestra historia

De un día para otro

01
open('assets/novios-2.jpg', 'Pedida de mano')}> Pedida de mano open('assets/novios-1.jpg', 'Aroa y Daniel')}> Aroa y Daniel

Ya sabéis que nosotros somos todo de prepararlo de un día para otro, así que nos hemos atrevido a echarnos la manta a la cabeza y realizar una boda en tres meses o morir en el intento.

Al final no ha podido ser en un crucero, por lo que Aroa y Daniel se casan en tierra, aunque ya estamos escuchando las peticiones de una renovación de votos en un viaje en barco… lo tendremos en cuenta, no os preocupéis por ello.

Gracias por querer estar con nosotros en este día tan especial. No podríamos imaginarlo con nadie más.

setBox(null)} />
); }; Object.assign(window, { Nav, Hero, Story });