Skip to content

Pages — route and view components

This file describes the route-level pages under app/frontend/src/pages. Pages are responsible for routing, orchestrating stores, and mapping data to UI components (atoms and molecules).

Directory layout

  • pages/general/ — small, non-dashboard pages (e.g., Login.tsx).
  • pages/dashboard/ — main admin/dashboard route pages (rooms, users, events, tasks, roles, displays, settings).

Routing and layout

  • App.tsx mounts DashboardLayout for the /dashboard routes and applies RequireAuth and Protected wrappers (permission checks) before rendering pages.
  • Pages are usually lazy-loaded via React.lazy in App.tsx to reduce initial bundle size.

Representative pages

  • Login.tsx (pages/general) — authentication UI, calls auth endpoints.
  • Rooms.tsx, RoomEdit.tsx, RoomEvents.tsx — room management pages and room-specific event views.
  • Users.tsx, UserEdit.tsx — user management pages
  • Events.tsx, EventEdit.tsx, EventTypes.tsx — event management pages.
  • Tasks.tsx, TaskEdit.tsx, TasksTypes.tsx — task management pages.
  • Roles.tsx, RoleEdit.tsx — role and permission management pages.
  • Displays.tsx, DisplayEdit.tsx — display management pages.
  • Settings.tsx — settings overview page.
  • CheckIn.tsx - task check-in.