function App() {
const [modal, setModal] = React.useState({ abierto: false, curso: null });
const abrir = React.useCallback(curso => setModal({ abierto: true, curso: curso || null }), []);
const cerrar = React.useCallback(() => setModal({ abierto: false, curso: null }), []);
// Permite abrir el formulario desde un link externo:
// index.php#preinscripcion ยท index.php?curso=cm
React.useEffect(() => {
const params = new URLSearchParams(window.location.search);
const slug = params.get('curso');
if (slug) {
const curso = window.GIO.cursos.find(c => c.slug === slug);
if (curso) { abrir(curso); return; }
}
if (window.location.hash === '#preinscripcion') abrir(null);
}, [abrir]);
return (
);
}
ReactDOM.createRoot(document.getElementById('root')).render();