Skip to main content

Provider tree

OnceUIProviders (src/components/OnceUIProviders.js) wraps Theme, Layout, Toast, and Icon providers using src/resources/once-ui.config.js (brand blue, accent indigo, light theme).

Public portal

src/components/public/PublicShell.js is a render-prop layout:
  • Header: logo, year tag, Home / About, Sign in or Open dashboard
  • Main: page body
  • Footer: Javier Jaramillo and Veronica Pichardo mailto links, D79 + NYC Public Schools logos
Home and About fetch /api/public/overview through usePublicOverview(). About page Caption: Add screenshot showing the About page using the same portal header/footer as Home, with required sections listed from formQuestions.json.

Dashboard

Sidebar groups depend on session.user.level:
  • All: Overview, How to (/dashboard?view=howto)
  • Level ≥ 4: Comments, analytics, notifications, bulk, performance, new form
  • Level 4: School users, collaboration
  • Level 5: Year setup (/dashboard?view=bulk-create), submissions, all users, goals, question bank, System, audit logs, role preview on Overview

Form editor hierarchy

Next.js 16 type-checks page.js files. Do not export helpers such as FormPageContent from a page module. Keep them as local functions or move them to src/components.