Skip to content

RoutesIndex

Paulo Gomes da Cruz Junior edited this page Oct 23, 2026 · 2 revisions

Routes

Human-facing index for frontend routing references, plus the catalog of every route file in frontend/src/routes/.

Documents

Document Description
Route Guards Access-control layouts (_authenticated, _admin, _client-access) and beforeLoad feature-flag gates.
Routing Architecture-level routing documentation (request flow, redirects, search state, how-tos).

Route catalog

29 route files generate 19 URLs (plus the authenticated catch-all). Route files live under frontend/src/routes/; folder placement picks the gates — see Route Guards.

Top-level routes

URL Route file Component Gate
/ routes/index.tsx PublicOnlyLanding → LandingPage Public-only: authenticated users redirected to /dashboard
/dashboard routes/dashboard.tsx DashboardRedirect (renders null) None — post-login redirect resolver, outside the shell
/no-role routes/no-role.tsx NoRolePage None — status page outside the shell
/unauthorized routes/unauthorized.tsx RoleErrorPage None — status page outside the shell

_authenticated (auth + status gate, one <Layout> shell)

URL Route file Component Additional gate
/search routes/_authenticated/search.tsx WasteSearchPage Owns URL filter state via validateSearch
/clients routes/_authenticated/_client-access/clients.tsx MyClientListPage _client-access: any-of VIEWER / SUBMITTER
/reporting-units/create routes/_authenticated/reporting-units/create.tsx ReportingUnitCreatePage Flag reporting-unit-create-enabled in beforeLoad
/reporting-units/$ruId routes/_authenticated/reporting-units/$ruId/index.tsx ReportingUnitDetailsPage Flag reporting-unit-details-enabled in beforeLoad; loader reportingUnitLoader
/reporting-units/$ruId/$blockId routes/_authenticated/reporting-units/$ruId/$blockId.tsx ReportingUnitBlockDetailsPage Flag reporting-unit-block-details-enabled in beforeLoad
/configuration routes/_authenticated/_admin/configuration/index.tsx ConfigurationPage _admin: ADMIN; flag configuration-enabled gates the whole subtree from configuration.tsx
/configuration/district-volume-tables routes/_authenticated/_admin/configuration/district-volume-tables/index.tsx ConfigurationDistrictVolumeListPage Inherited from _admin + configuration.tsx
/configuration/district-volume-tables/$id routes/_authenticated/_admin/configuration/district-volume-tables/$id.tsx DistrictVolumeTableDetailPage Inherited
/configuration/district-volume-tables/upload routes/_authenticated/_admin/configuration/district-volume-tables/upload.tsx DistrictVolumeTableUploadPage Inherited
/configuration/formulas routes/_authenticated/_admin/configuration/formulas/index.tsx FormulaConfigurationListPage Inherited
/configuration/formulas/$id routes/_authenticated/_admin/configuration/formulas/$id.tsx FormulaConfigurationDetailPage Inherited
/configuration/formulas/new routes/_authenticated/_admin/configuration/formulas/new.tsx FormulaConfigurationCreatePage Inherited
/configuration/species-composition routes/_authenticated/_admin/configuration/species-composition/index.tsx SpeciesCompositionListPage Inherited
/configuration/species-composition/$id routes/_authenticated/_admin/configuration/species-composition/$id.tsx SpeciesCompositionDetailPage Inherited
/configuration/species-composition/upload routes/_authenticated/_admin/configuration/species-composition/upload.tsx SpeciesCompositionUploadPage Inherited
(unknown URL) routes/_authenticated/$.tsx NotFoundPage Catch-all 404 inside the shell

Pathless layout and container files (no URL of their own)

File Role
routes/__root.tsx Root route: title sync, AuthAwareNotFound, Layout-wrapped error component
routes/_authenticated.tsx Auth + status gate; renders the single <Layout> shell
routes/_authenticated/_admin.tsx ADMIN role tier
routes/_authenticated/_client-access.tsx VIEWER / SUBMITTER role tier
routes/_authenticated/_admin/configuration.tsx configuration-enabled flag gate + Configuration nav entry
routes/_authenticated/reporting-units/$ruId.tsx Pathless container for the $ruId subtree
routes/_authenticated/_admin/configuration/formulas.tsx Pathless container for the formulas subsection
routes/_authenticated/_admin/configuration/district-volume-tables.tsx Pathless container for the district-volume-tables subsection
routes/_authenticated/_admin/configuration/species-composition.tsx Pathless container for the species-composition subsection

Pathless files and folders (underscore-prefixed) never add a URL segment; containers with no component render <Outlet/> by default. src/routeTree.gen.ts is generated from this structure and committed to the repo.

Waste Plus Wiki

Home

Architecture

Codes

Decisions

Knowledge Base

Development

Changes

Clone this wiki locally