/* Admin → Documents: shared file library (policies, handbooks, newsletters). */
function DocumentsScreen() {
const [docs, setDocs] = React.useState([
{ id:1, name:'Family Handbook 2026–27', cat:'Policies', type:'PDF', size:'2.4 MB', when:'Jun 1', by:'District Office', dl:412, icon:'book-open', tint:'var(--blue-100)', ic:'var(--blue-500)' },
{ id:2, name:'Bus Route Map — Fall', cat:'Transportation', type:'PDF', size:'1.1 MB', when:'May 28', by:'Transportation', dl:288, icon:'map', tint:'var(--gold-100)', ic:'var(--gold-600)' },
{ id:3, name:'June Newsletter', cat:'Newsletters', type:'PDF', size:'860 KB', when:'May 30', by:'Front Office', dl:531, icon:'newspaper', tint:'var(--success-100)', ic:'var(--success-500)' },
{ id:4, name:'Free & Reduced Lunch Form', cat:'Forms', type:'PDF', size:'220 KB', when:'May 20', by:'Nutrition Svcs', dl:174, icon:'utensils', tint:'var(--danger-100)', ic:'var(--danger-500)' },
{ id:5, name:'Immunization Requirements', cat:'Health', type:'PDF', size:'340 KB', when:'May 12', by:'Nurse Adams', dl:96, icon:'heart-pulse', tint:'var(--info-100)', ic:'var(--info-500)' },
{ id:6, name:'Code of Conduct', cat:'Policies', type:'PDF', size:'1.8 MB', when:'Aug 2025', by:'District Office', dl:640, icon:'shield-check', tint:'var(--blue-100)', ic:'var(--blue-500)' },
]);
const CATS = ['All', 'Policies', 'Transportation', 'Newsletters', 'Forms', 'Health'];
const [cat, setCat] = React.useState('All');
const shown = cat==='All' ? docs : docs.filter(d=>d.cat===cat);
const remove = (id) => { setDocs(d => d.filter(x=>x.id!==id)); jlToast('Document removed', { icon:'trash-2', color:'#E5484D' }); };
return (
jlToast('Upload dialog opened', { icon:'upload' })} style={{ display:'flex', alignItems:'center', gap:6, background:'var(--gold-400)', color:'var(--on-gold)', border:0, borderRadius:9, padding:'8px 13px', fontWeight:700, fontSize:12.5, cursor:'pointer', fontFamily:'var(--font-sans)', boxShadow:'var(--shadow-gold)' }}>Upload}
pad={false}>
{CATS.map(c => { const on = cat===c; return (
); })}
DocumentCategorySizeUpdatedActions
{shown.map((d,i) => (
{d.name}{d.type} · {d.dl} downloads · {d.by}
{d.cat}
{d.size}
{d.when}
))}
{shown.length===0 && No documents in this category.
}
);
}
Object.assign(window, { DocumentsScreen });