@@ -8,6 +8,7 @@ import { ComponentsDemo } from "@/features/dashboard/components/ComponentsDemo";
88import { AdminFormDetailPage , AdminFormsPage , FormDetailPage , FormsListPage } from "@/features/form/components" ;
99import { BrowserRouter , Navigate , Route , Routes } from "react-router-dom" ;
1010import OrgRewriteToSdc from "./OrgRewriteToSdc" ;
11+ import RequireOrgAdminAccess from "./RequireOrgAdminAccess" ;
1112
1213export const AppRouter = ( ) => {
1314 return (
@@ -26,19 +27,23 @@ export const AppRouter = () => {
2627 < Route path = "/forms" element = { < FormsListPage /> } />
2728 < Route path = "/forms/:id" element = { < FormDetailPage /> } />
2829
29- { /* Organization redirects */ }
30- < Route path = "/orgs/:orgId/*" element = { < OrgRewriteToSdc /> } />
31- < Route path = "/orgs" element = { < Navigate to = "/orgs/sdc/forms" replace /> } />
32- < Route path = "/orgs/sdc" element = { < Navigate to = "/orgs/sdc/forms" replace /> } />
30+ { /* Organization redirects (org member only) */ }
31+ < Route element = { < RequireOrgAdminAccess /> } >
32+ < Route path = "/orgs/:orgId/*" element = { < OrgRewriteToSdc /> } />
33+ < Route path = "/orgs" element = { < Navigate to = "/orgs/sdc/forms" replace /> } />
34+ < Route path = "/orgs/sdc" element = { < Navigate to = "/orgs/sdc/forms" replace /> } />
35+ </ Route >
3336
3437 { /* Admin routes */ }
35- < Route path = "/orgs/sdc/forms" element = { < AdminFormsPage /> } />
36- < Route path = "/orgs/sdc/forms/:formid/info" element = { < AdminFormDetailPage /> } />
37- < Route path = "/orgs/sdc/forms/:formid/edit" element = { < AdminFormDetailPage /> } />
38- < Route path = "/orgs/sdc/forms/:formid/section/:sectionId/edit" element = { < AdminFormDetailPage /> } />
39- < Route path = "/orgs/sdc/forms/:formid/reply" element = { < AdminFormDetailPage /> } />
40- < Route path = "/orgs/sdc/forms/:formid/design" element = { < AdminFormDetailPage /> } />
41- < Route path = "/orgs/sdc/settings" element = { < AdminSettingsPage /> } />
38+ < Route element = { < RequireOrgAdminAccess /> } >
39+ < Route path = "/orgs/sdc/forms" element = { < AdminFormsPage /> } />
40+ < Route path = "/orgs/sdc/forms/:formid/info" element = { < AdminFormDetailPage /> } />
41+ < Route path = "/orgs/sdc/forms/:formid/edit" element = { < AdminFormDetailPage /> } />
42+ < Route path = "/orgs/sdc/forms/:formid/section/:sectionId/edit" element = { < AdminFormDetailPage /> } />
43+ < Route path = "/orgs/sdc/forms/:formid/reply" element = { < AdminFormDetailPage /> } />
44+ < Route path = "/orgs/sdc/forms/:formid/design" element = { < AdminFormDetailPage /> } />
45+ < Route path = "/orgs/sdc/settings" element = { < AdminSettingsPage /> } />
46+ </ Route >
4247
4348 { /* 404 */ }
4449 < Route path = "*" element = { < NotFoundPage /> } />
0 commit comments