/* GestiFalla — App raíz: router + montaje */ function TraspasoSheet({ open, onClose, toast }) { const [amount, setAmount] = useState('15'); const [to, setTo] = useState('M. Sanchis'); const destinatarios = ['M. Sanchis Roig', 'Carmen Bellver', 'Joan Esteve', 'Tesorería falla']; return (
Importe
setAmount(e.target.value.replace(/[^0-9]/g,''))} inputMode="numeric" style={{ width: 120, textAlign: 'right', border: 'none', outline: 'none', fontSize: 44, fontWeight: 800, color: 'var(--gf-text)', fontFamily: 'inherit', background: 'transparent' }} /> {DATA.falla.moneda.simbolo}
{['5','10','15','25'].map(v => ( ))}
Destinatario
{destinatarios.map((d, i) => ( ))}
); } function App({ onStatusChange }) { const [logged, setLogged] = useState(false); const [screen, setScreen] = useState('home'); const [evento, setEvento] = useState(null); const [sheet, setSheet] = useState(false); const [toast, fireToast] = useToast(); const go = (s) => { setScreen(s); }; const openEvento = (ev) => { setEvento(ev); setScreen('evento-detalle'); }; // status bar: dark text only on login (gray bg). Everywhere else white over blue header. useEffect(() => { onStatusChange && onStatusChange(!logged); }, [logged]); let content; if (!logged) { content = { setLogged(true); setScreen('home'); }} />; } else if (screen === 'home') { content = ; } else if (screen === 'ficha') { content = go('carnet')} toast={fireToast} />; } else if (screen === 'carnet') { content = go('ficha')} toast={fireToast} />; } else if (screen === 'monedero') { content = setSheet(true)} toast={fireToast} />; } else if (screen === 'eventos') { content = ; } else if (screen === 'evento-detalle') { content = go('eventos')} onTraspaso={() => fireToast('Traspaso de evento iniciado')} toast={fireToast} />; } else if (screen === 'perfil') { content = { setLogged(false); }} toast={fireToast} />; } return (
{content} setSheet(false)} toast={fireToast} />
); } /* Stateful bridge: status bar color updates per screen */ function Bridge() { const [dark, setDark] = useState(true); return (
); } ReactDOM.createRoot(document.getElementById('root')).render();