Skip to content

Commit 528892f

Browse files
committed
Move router to be inside of AppRouter
1 parent b83f9c2 commit 528892f

File tree

2 files changed

+101
-99
lines changed

2 files changed

+101
-99
lines changed

site/src/AppRouter.tsx

Lines changed: 90 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import TemplatesPage from "pages/TemplatesPage/TemplatesPage"
1111
import UsersPage from "pages/UsersPage/UsersPage"
1212
import WorkspacesPage from "pages/WorkspacesPage/WorkspacesPage"
1313
import { FC, lazy, Suspense } from "react"
14-
import { Route, Routes } from "react-router-dom"
14+
import { Route, Routes, BrowserRouter as Router } from "react-router-dom"
1515
import { DashboardLayout } from "./components/DashboardLayout/DashboardLayout"
1616
import { RequireAuth } from "./components/RequireAuth/RequireAuth"
1717
import { SettingsLayout } from "./components/SettingsLayout/SettingsLayout"
@@ -120,112 +120,117 @@ const CreateTemplatePage = lazy(
120120
export const AppRouter: FC = () => {
121121
return (
122122
<Suspense fallback={<FullScreenLoader />}>
123-
<Routes>
124-
<Route path="login" element={<LoginPage />} />
125-
<Route path="setup" element={<SetupPage />} />
123+
<Router>
124+
<Routes>
125+
<Route path="login" element={<LoginPage />} />
126+
<Route path="setup" element={<SetupPage />} />
126127

127-
{/* Dashboard routes */}
128-
<Route element={<RequireAuth />}>
129-
<Route element={<DashboardLayout />}>
130-
<Route index element={<IndexPage />} />
128+
{/* Dashboard routes */}
129+
<Route element={<RequireAuth />}>
130+
<Route element={<DashboardLayout />}>
131+
<Route index element={<IndexPage />} />
131132

132-
<Route path="gitauth" element={<GitAuthPage />} />
133+
<Route path="gitauth" element={<GitAuthPage />} />
133134

134-
<Route path="workspaces" element={<WorkspacesPage />} />
135+
<Route path="workspaces" element={<WorkspacesPage />} />
135136

136-
<Route path="starter-templates">
137-
<Route index element={<StarterTemplatesPage />} />
138-
<Route path=":exampleId" element={<StarterTemplatePage />} />
139-
</Route>
137+
<Route path="starter-templates">
138+
<Route index element={<StarterTemplatesPage />} />
139+
<Route path=":exampleId" element={<StarterTemplatePage />} />
140+
</Route>
140141

141-
<Route path="templates">
142-
<Route index element={<TemplatesPage />} />
143-
<Route path="new" element={<CreateTemplatePage />} />
144-
<Route path=":template">
145-
<Route element={<TemplateLayout />}>
146-
<Route index element={<TemplateSummaryPage />} />
147-
<Route
148-
path="permissions"
149-
element={<TemplatePermissionsPage />}
150-
/>
142+
<Route path="templates">
143+
<Route index element={<TemplatesPage />} />
144+
<Route path="new" element={<CreateTemplatePage />} />
145+
<Route path=":template">
146+
<Route element={<TemplateLayout />}>
147+
<Route index element={<TemplateSummaryPage />} />
148+
<Route
149+
path="permissions"
150+
element={<TemplatePermissionsPage />}
151+
/>
152+
</Route>
153+
154+
<Route path="workspace" element={<CreateWorkspacePage />} />
155+
<Route path="settings" element={<TemplateSettingsPage />} />
156+
<Route path="versions">
157+
<Route path=":version" element={<TemplateVersionPage />} />
158+
</Route>
151159
</Route>
160+
</Route>
152161

153-
<Route path="workspace" element={<CreateWorkspacePage />} />
154-
<Route path="settings" element={<TemplateSettingsPage />} />
155-
<Route path="versions">
156-
<Route path=":version" element={<TemplateVersionPage />} />
162+
<Route path="users">
163+
<Route element={<UsersLayout />}>
164+
<Route index element={<UsersPage />} />
157165
</Route>
158-
</Route>
159-
</Route>
160166

161-
<Route path="users">
162-
<Route element={<UsersLayout />}>
163-
<Route index element={<UsersPage />} />
167+
<Route path="create" element={<CreateUserPage />} />
164168
</Route>
165169

166-
<Route path="create" element={<CreateUserPage />} />
167-
</Route>
170+
<Route path="/groups">
171+
<Route element={<UsersLayout />}>
172+
<Route index element={<GroupsPage />} />
173+
</Route>
168174

169-
<Route path="/groups">
170-
<Route element={<UsersLayout />}>
171-
<Route index element={<GroupsPage />} />
175+
<Route path="create" element={<CreateGroupPage />} />
176+
<Route path=":groupId" element={<GroupPage />} />
177+
<Route
178+
path=":groupId/settings"
179+
element={<SettingsGroupPage />}
180+
/>
172181
</Route>
173182

174-
<Route path="create" element={<CreateGroupPage />} />
175-
<Route path=":groupId" element={<GroupPage />} />
176-
<Route path=":groupId/settings" element={<SettingsGroupPage />} />
177-
</Route>
178-
179-
<Route path="/audit" element={<AuditPage />} />
180-
181-
<Route
182-
path="/settings/deployment"
183-
element={<DeploySettingsLayout />}
184-
>
185-
<Route path="general" element={<GeneralSettingsPage />} />
186-
<Route path="security" element={<SecuritySettingsPage />} />
187-
<Route path="appearance" element={<AppearanceSettingsPage />} />
188-
<Route path="network" element={<NetworkSettingsPage />} />
189-
<Route path="userauth" element={<UserAuthSettingsPage />} />
190-
<Route path="gitauth" element={<GitAuthSettingsPage />} />
191-
</Route>
183+
<Route path="/audit" element={<AuditPage />} />
184+
185+
<Route
186+
path="/settings/deployment"
187+
element={<DeploySettingsLayout />}
188+
>
189+
<Route path="general" element={<GeneralSettingsPage />} />
190+
<Route path="security" element={<SecuritySettingsPage />} />
191+
<Route path="appearance" element={<AppearanceSettingsPage />} />
192+
<Route path="network" element={<NetworkSettingsPage />} />
193+
<Route path="userauth" element={<UserAuthSettingsPage />} />
194+
<Route path="gitauth" element={<GitAuthSettingsPage />} />
195+
</Route>
192196

193-
<Route path="settings" element={<SettingsLayout />}>
194-
<Route path="account" element={<AccountPage />} />
195-
<Route path="security" element={<SecurityPage />} />
196-
<Route path="ssh-keys" element={<SSHKeysPage />} />
197-
<Route path="tokens" element={<TokensPage />} />
198-
</Route>
197+
<Route path="settings" element={<SettingsLayout />}>
198+
<Route path="account" element={<AccountPage />} />
199+
<Route path="security" element={<SecurityPage />} />
200+
<Route path="ssh-keys" element={<SSHKeysPage />} />
201+
<Route path="tokens" element={<TokensPage />} />
202+
</Route>
199203

200-
<Route path="/@:username">
201-
<Route path=":workspace">
202-
<Route index element={<WorkspacePage />} />
203-
<Route path="schedule" element={<WorkspaceSchedulePage />} />
204-
<Route
205-
path="builds/:buildNumber"
206-
element={<WorkspaceBuildPage />}
207-
/>
208-
<Route
209-
path="change-version"
210-
element={<WorkspaceChangeVersionPage />}
211-
/>
204+
<Route path="/@:username">
205+
<Route path=":workspace">
206+
<Route index element={<WorkspacePage />} />
207+
<Route path="schedule" element={<WorkspaceSchedulePage />} />
208+
<Route
209+
path="builds/:buildNumber"
210+
element={<WorkspaceBuildPage />}
211+
/>
212+
<Route
213+
path="change-version"
214+
element={<WorkspaceChangeVersionPage />}
215+
/>
216+
</Route>
212217
</Route>
213218
</Route>
214-
</Route>
215219

216-
{/* Terminal and CLI auth pages don't have the dashboard layout */}
217-
<Route
218-
path="/@:username/:workspace/terminal"
219-
element={<TerminalPage />}
220-
/>
221-
<Route path="cli-auth" element={<CliAuthenticationPage />} />
222-
</Route>
220+
{/* Terminal and CLI auth pages don't have the dashboard layout */}
221+
<Route
222+
path="/@:username/:workspace/terminal"
223+
element={<TerminalPage />}
224+
/>
225+
<Route path="cli-auth" element={<CliAuthenticationPage />} />
226+
</Route>
223227

224-
{/* Using path="*"" means "match anything", so this route
228+
{/* Using path="*"" means "match anything", so this route
225229
acts like a catch-all for URLs that we don't have explicit
226230
routes for. */}
227-
<Route path="*" element={<NotFoundPage />} />
228-
</Routes>
231+
<Route path="*" element={<NotFoundPage />} />
232+
</Routes>
233+
</Router>
229234
</Suspense>
230235
)
231236
}

site/src/app.tsx

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import ThemeProvider from "@material-ui/styles/ThemeProvider"
33
import { AuthProvider } from "components/AuthProvider/AuthProvider"
44
import { FC } from "react"
55
import { HelmetProvider } from "react-helmet-async"
6-
import { BrowserRouter as Router } from "react-router-dom"
76
import { AppRouter } from "./AppRouter"
87
import { ErrorBoundary } from "./components/ErrorBoundary/ErrorBoundary"
98
import { GlobalSnackbar } from "./components/GlobalSnackbar/GlobalSnackbar"
@@ -12,18 +11,16 @@ import "./theme/globalFonts"
1211

1312
export const App: FC = () => {
1413
return (
15-
<Router>
16-
<HelmetProvider>
17-
<ThemeProvider theme={dark}>
18-
<CssBaseline />
19-
<ErrorBoundary>
20-
<AuthProvider>
21-
<AppRouter />
22-
<GlobalSnackbar />
23-
</AuthProvider>
24-
</ErrorBoundary>
25-
</ThemeProvider>
26-
</HelmetProvider>
27-
</Router>
14+
<HelmetProvider>
15+
<ThemeProvider theme={dark}>
16+
<CssBaseline />
17+
<ErrorBoundary>
18+
<AuthProvider>
19+
<AppRouter />
20+
<GlobalSnackbar />
21+
</AuthProvider>
22+
</ErrorBoundary>
23+
</ThemeProvider>
24+
</HelmetProvider>
2825
)
2926
}

0 commit comments

Comments
 (0)