/* Parent → Notifications Center: grouped, tappable, deep-links into screens. */ function NotificationsScreen({ onNav, onBack }) { const KIND = { alert: { tint:'var(--danger-100)', ic:'var(--danger-500)', icon:'siren' }, pickup: { tint:'var(--gold-100)', ic:'var(--gold-600)', icon:'car-front' }, grade: { tint:'var(--blue-100)', ic:'var(--blue-500)', icon:'graduation-cap' }, message: { tint:'var(--info-100)', ic:'var(--info-500)', icon:'message-circle' }, payment: { tint:'var(--success-100)', ic:'var(--success-500)', icon:'wallet' }, attend: { tint:'var(--warning-100)', ic:'var(--warning-600)', icon:'calendar-check' }, event: { tint:'var(--gold-100)', ic:'var(--gold-600)', icon:'party-popper' }, }; const init = [ { id:1, kind:'alert', title:'Early dismissal today at 1:00 PM', body:'Buses run on the early schedule.', when:'9:02 AM', group:'Today', unread:true, go:'home' }, { id:2, kind:'grade', title:'New grade posted — Math', body:jlChild().first + ' scored A- on the Fractions Quiz.', when:'8:15 AM', group:'Today', unread:true, go:'grades' }, { id:3, kind:'message', title:'Mrs. Johnson replied', body:'“Thanks — he\u2019s all caught up now.”', when:'Yesterday', group:'Earlier', unread:true, go:'messages' }, { id:4, kind:'payment', title:'Lunch balance is low', body:'$12.40 left · about 3 days of meals.', when:'Yesterday', group:'Earlier', unread:false, go:'wallet' }, { id:5, kind:'event', title:'Science Fair — RSVP open', body:'Thu, Jun 12 · 6:00 PM · Main Gym.', when:'2 days ago', group:'Earlier', unread:false, go:'calendar' }, { id:6, kind:'pickup', title:'Pickup complete', body:jlChild().first + ' was picked up at 3:34 PM.', when:'2 days ago', group:'Earlier', unread:false, go:'pickup' }, ]; const [items, setItems] = React.useState(init); const unread = items.filter(i=>i.unread).length; const open = (it) => { setItems(x=>x.map(n=>n.id===it.id?{...n,unread:false}:n)); if (it.go) onNav(it.go); }; const markAll = () => { setItems(x=>x.map(n=>({...n,unread:false}))); jlToast('All caught up', { icon:'check-check' }); }; const groups = ['Today','Earlier']; return (