/* First-run onboarding — shown once after the first sign-in, before Home. */ function OnboardingScreen({ onDone }) { const [step, setStep] = React.useState(0); const [picked, setPicked] = React.useState(() => (window.JL_CHILDREN || []).map(c => c.id)); const [notif, setNotif] = React.useState({ alerts:true, messages:true, pickup:true, grades:false }); const [pickup, setPickup] = React.useState('car'); const kids = window.JL_CHILDREN || []; const STEPS = [ { key:'welcome', icon:'party-popper', tint:'var(--gold-100)', ic:'var(--gold-600)', title:'Welcome to JewelLink', body:'The calm, all-in-one way to stay connected with your child\u2019s school. Let\u2019s set things up \u2014 it takes about a minute.', }, { key:'children', icon:'users-round', tint:'var(--success-100)', ic:'var(--success-500)', title:'Confirm your children', body:'These students are linked to your account. Tap to include each one.', }, { key:'notifs', icon:'bell', tint:'var(--info-100)', ic:'var(--info-500)', title:'Choose your alerts', body:'Pick what you\u2019d like to hear about. You can change these anytime in Profile.', }, { key:'pickup', icon:'car-front', tint:'var(--gold-100)', ic:'var(--gold-600)', title:'Set a default pickup', body:'How does your child usually get home? This sets the default \u2014 you can change it per day later.', }, { key:'done', icon:'circle-check-big', tint:'var(--success-100)', ic:'var(--success-500)', title:'You\u2019re all set', body:'Everything\u2019s ready. Jump in and explore your family\u2019s dashboard.', }, ]; const s = STEPS[step]; const last = step === STEPS.length - 1; const next = () => last ? onDone() : setStep(step + 1); const back = () => setStep(Math.max(0, step - 1)); const NOTIF_ROWS = [ { id:'alerts', icon:'siren', label:'Emergency alerts', sub:'Urgent, always on', locked:true }, { id:'messages', icon:'message-circle', label:'Teacher messages', sub:'Replies & new threads' }, { id:'pickup', icon:'car-front', label:'Pickup & bus', sub:'Arrivals and check-ins' }, { id:'grades', icon:'graduation-cap', label:'Grades & feedback', sub:'New grades and notes' }, ]; const PICKUP_OPTS = [ { id:'car', icon:'car-front', label:'Car Rider' }, { id:'bus', icon:'bus', label:'Bus' }, { id:'walk', icon:'footprints',label:'Walker' }, { id:'after', icon:'clock', label:'Aftercare' }, ]; return (