ChicoryTV SPA: app shell (sidebar + top bar + routing) #82
Notifications
Due Date
No due date set.
Blocks
Depends on
#83 ChicoryTV SPA: Dashboard screen
timothy/ersatztv
#84 ChicoryTV SPA: Channels screen
timothy/ersatztv
#85 ChicoryTV SPA: Guide / EPG screen
timothy/ersatztv
#86 ChicoryTV SPA: Schedule editor screen
timothy/ersatztv
#87 ChicoryTV SPA: Playouts screen
timothy/ersatztv
#88 ChicoryTV SPA: Libraries screen
timothy/ersatztv
#89 ChicoryTV SPA: Channel Builder (primary deliverable)
timothy/ersatztv
#93 ChicoryTV SPA: Settings screen (prototype → implement)
timothy/ersatztv
#80 ChicoryTV SPA: component library (primitives)
timothy/ersatztv
#81 ChicoryTV SPA: typed API client + auth
timothy/ersatztv
Reference: timothy/ersatztv#82
Reference in New Issue
Block a user
Build the admin shell from
design-system/templates/chicorytv-admin/Shell.jsx.Do
Acceptance: shell matches the prototype across 3 themes; navigation between (placeholder) screens works. See
docs/superpowers/specs/2026-07-01-chicorytv-ui-redesign-design.md+ shell prototype.Handoff — ready to pick up (unblocked)
Foundation is complete and merged on
docs/59-ui-redesign-brief: #78 scaffold, #79 themes, #80 components, #81 API client — all closed. This issue's blockers are cleared.Current tree
web/(Vite + React + TS; scripts:dev/build/lint/test).web/src/components/{forms,dataDisplay,feedback,navigation}.tsx(+components.css), re-exported fromweb/src/components/index.ts.web/src/designSystem.ts; aweb/src/shell.cssstub already exists — extend it, don't recreate.web/src/api/*(typed fromweb/src/api/generated/v1.d.ts); example queryuseChannelsQuery.ts.web/src/App.tsx,web/src/main.tsx.Build
design-system/templates/chicorytv-admin/Shell.jsx(visual match; use the ported primitives, not the prototype's internals).Acceptance: shell matches prototype across all 3 themes; nav between placeholder screens works;
webbuild + tests green in CI.After this + #92, the Design-sync workflow ready milestone is met.
Done
What was done: Built the ChicoryTV React admin shell from the prototype: 232px sidebar with grouped nav and health footer, 52px top bar with search, Connect menu, top-right primary action slot, mounted 3-theme switcher, and client-side routing across placeholder screen slots for Dashboard, Channels, New Channel, Guide, Schedules, Playouts, Collections, Libraries, and Settings. Added shell/routing/Connect tests and an implementation plan document.
Root cause: n/a
Files changed:
web/src/App.tsx,web/src/shell.css,web/src/App.test.tsx,docs/superpowers/plans/2026-07-02-chicorytv-spa-app-shell.mdVerification:
npm test -- --run src/App.test.tsx(14 passed);npm test -- --run(20 passed);npm run lint(clean);npm run build(TypeScript + Vite build succeeded);git diff --check(clean).Deferred: Screen-specific implementations remain for downstream issues #83-#89/#93.
Follow-up issues: Existing downstream screen issues.
Docs updated: Added
docs/superpowers/plans/2026-07-02-chicorytv-spa-app-shell.md.Commit:
5fb3bb2epushed todocs/59-ui-redesign-brief.