Use GET /me/bootstrap as the primary authenticated state source per ADR-0003. AuthContext now fetches and exposes typed bootstrapData, Header and class/detail admin checks use bootstrap permissions/roles, dashboard surfaces onboarding/calendar/timetable/graph status, and graph navigation derives school setup state from bootstrap instead of /school/status.
Refs: t_44353587
- MyClassesPage: fix all classItem.class?.* references to flat field access (class_code, name, description etc)
- MyClassesPage: fix class detail link /timetable/classes/:id -> /classes/:id (actual route)
- CCGraphNavPanel: SubjectClass click navigates to /classes/:id since no Neo4j SubjectClass nodes exist yet
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- Fix: skip canvas navigation for Section-type nodes (was crashing on cc-section-node)
- Add By Class / By Term toggle to My Timetable section (mirrors calendar Generic/Academic)
- By Class: pre-loaded SubjectClass children shown immediately on expand
- By Term: lazy-loads AcademicTerms -> Weeks -> TaughtLessons when switched to term view
- displayChildren respects timetableView context for the timetable section
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Add useNavigate + Launch icon to TreeItem; timetable section shows a
launch button routing to /my-lessons, classes section routes to /my-classes.
Both buttons only appear when the section status is populated.
Exclude classes section from the unlinked/pending icon fallback.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
Bugs fixed:
- 'cc-teacher-timetable-node' missing from NODE_TYPE_THEMES caused
Cannot read properties of undefined (reading 'headerColor') crash
when clicking My Timetable
- 'cc-journal-node' and 'cc-planner-node' had no shape utils registered,
causing 'No shape util found for type' error on Journal/Planner click
- Added null safety (?? fallback) to getNodeTheme to prevent future crashes
from any other unmapped type
- Removed AcademicWeek from canExpand exclusion so weeks can be expanded
to show individual academic days
Added:
- CCJournalNodeShapeUtil and CCPlannerNodeShapeUtil (stub shapes)
- CCJournalNodeProps and CCPlannerNodeProps types
- Journal/Planner added to CCNodeTypes, ccGraphShapeProps, NODE_TYPE_THEMES
- 'cc-department-structure-node' mapping added to NODE_TYPE_THEMES
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
- SchoolOnboardingWizard.tsx: new 3-step wizard (GAIS search → confirm →
calendar setup) triggered from the nav panel school section when no school
is linked. Calls GET /school/search for live school lookup and
POST /school/register to create the institute record.
- CCGraphNavPanel.tsx: add showOnboard button for no_school state,
onOnboardSchool context action, wire up SchoolOnboardingWizard state.
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>