feat(web): move Cascade Defaults to Global section in sidebar#783
Conversation
nhopeatall
left a comment
There was a problem hiding this comment.
LGTM — Clean routing reorganization that follows existing global page patterns exactly.
The new defaults.tsx mirrors the structure of other global routes (self-contained component, createRoute with rootRoute, named export). The DefaultsForm is fully self-contained (fetches its own data via tRPC), so it works identically in the new location. Cleanup of Settings > General is complete with no stale imports or references. All CI checks pass.
One minor note (not blocking): The tRPC defaults router uses protectedProcedure (any authenticated user), not superAdminProcedure. Previously, admin/member users could access Cascade Defaults via Settings > General. Now the sidebar entry is only visible to superadmin users, but any authenticated user who navigates directly to /global/defaults can still view and modify defaults. This is consistent with how all other global routes work (no route-level guards, relying on sidebar visibility + backend auth), but the PR description's note about non-superadmin access is worth clarifying — they lose discoverability, not access.
Summary
Move "Cascade Defaults" from Settings > General to the Global section of the dashboard sidebar, improving information architecture for platform-level configuration.
Changes
/web/src/routes/global/defaults.tsx— New page component for Global Defaultsroute-tree.tsto register the new routeArchitecture
The new Global Defaults page follows the existing global page pattern:
<DefaultsForm />Testing
Notes
https://trello.com/c/69b445174218dab444da6b14