/* Parent → Enrollment status: the family's application(s) + waitlist position (reads jl_enroll). */ function WaitlistScreen({ onNav, onBack }) { const STAGES = { new: { label:'Received', bg:'var(--blue-100)', fg:'var(--blue-600)', icon:'inbox', step:1 }, review: { label:'In Review', bg:'var(--warning-100)', fg:'var(--warning-600)', icon:'search', step:2 }, accepted: { label:'Accepted', bg:'var(--info-100)', fg:'var(--info-500)', icon:'check', step:3 }, waitlist: { label:'Waitlisted',bg:'var(--gray-200)', fg:'var(--gray-600)', icon:'hourglass', step:2 }, enrolled: { label:'Enrolled', bg:'var(--success-100)', fg:'var(--success-600)', icon:'party-popper', step:4 }, }; const meta = (s) => STAGES[s] || STAGES.new; // demo: this family's applicant const MINE = 'Zoe Nakamura'; const [list, setList] = React.useState([]); React.useEffect(() => { const read = () => setList(JLBackend.get('enroll', []) || []); read(); return JLBackend.subscribe('enroll', () => read()); }, []); const mine = list.find(a => a.n === MINE) || { n:MINE, grade:'Grade 6', stage:'waitlist' }; const m = meta(mine.stage); // waitlist position among waitlisted of same grade const wl = list.filter(a => a.stage==='waitlist' && a.grade===mine.grade); const pos = wl.findIndex(a => a.n === MINE); const STEPS = ['Received','In Review','Decision','Enrolled']; return (