/* App shell — drives the click-through prototype. Uses a navigation history stack so "back" always returns to the previous screen. */ function ParentApp() { const [hist, setHist] = React.useState(['login']); const [convo, setConvo] = React.useState(null); const screen = hist[hist.length - 1]; const isDark = screen === 'login'; const canBack = hist.length > 1 && screen !== 'login'; const go = (s) => setHist(h => h[h.length - 1] === s ? h : [...h, s]); const back = () => setHist(h => h.length > 1 ? h.slice(0, -1) : h); const reset = (s) => setHist([s]); let view; switch (screen) { case 'login': view = reset('home')} />; break; case 'home': view = ; break; case 'messages': view = { setConvo(c); go('chat'); }} />; break; case 'chat': view = ; break; case 'transport': view = ; break; case 'pickup': view = ; break; case 'activities': view = ; break; case 'safety': view = ; break; case 'attendance': view = ; break; case 'engagement': view = ; break; case 'grades': view = ; break; case 'wallet': view = ; break; case 'tutor': view = ; break; case 'marketplace':view = ; break; case 'help': view = ; break; case 'profile': view = reset('login')} />; break; default: view = ; } return (
{view}
{/* hint when on login */} {screen==='login' && (
Tap Sign In to explore the app
)}
); } ReactDOM.createRoot(document.getElementById('root')).render();