diff --git a/src/App.tsx b/src/App.tsx
index 2890beba..79162f2d 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -58,7 +58,7 @@ const ProjectSettingsPage = lazy(() => import("@src/pages/Settings/ProjectSettin
// prettier-ignore
const MembersPage = lazy(() => import("@src/pages/Settings/MembersPage" /* webpackChunkName: "MembersPage" */));
// prettier-ignore
-const DebugSettingsPage = lazy(() => import("@src/pages/Settings/DebugSettingsPage" /* webpackChunkName: "DebugSettingsPage" */));
+const DebugPage = lazy(() => import("@src/pages/Settings/DebugPage" /* webpackChunkName: "DebugPage" */));
export default function App() {
const [currentUser] = useAtom(currentUserAtom, projectScope);
@@ -153,14 +153,8 @@ export default function App() {
}
/>
} />
-
-
-
- }
- />
+
+ } />
)}
diff --git a/src/constants/routes.tsx b/src/constants/routes.tsx
index 8e4ef19b..4b59b687 100644
--- a/src/constants/routes.tsx
+++ b/src/constants/routes.tsx
@@ -36,14 +36,10 @@ export enum ROUTES {
userSettings = "/settings/user",
projectSettings = "/settings/project",
members = "/members",
- debugSettings = "/settings/debug",
+ debug = "/debug",
tutorial = "/tutorial",
tableTutorial = "/tutorial/table",
-
- test = "/test",
- themeTest = "/test/theme",
- rowyRunTest = "/test/rowyRunTest",
}
export const ROUTE_TITLES = {
@@ -66,7 +62,7 @@ export const ROUTE_TITLES = {
[ROUTES.userSettings]: "Settings",
[ROUTES.projectSettings]: "Project Settings",
[ROUTES.members]: "Members",
- [ROUTES.debugSettings]: "Debug",
+ [ROUTES.debug]: "Debug",
[ROUTES.tutorial]: "Tutorial",
[ROUTES.tableTutorial]: {
@@ -79,10 +75,6 @@ export const ROUTE_TITLES = {
titleTransitionProps: { style: { transformOrigin: "0 50%" } },
leftAligned: true,
},
-
- [ROUTES.test]: "Test",
- [ROUTES.themeTest]: "Theme Test",
- [ROUTES.rowyRunTest]: "Rowy Run Test",
} as Record<
ROUTES,
| string
diff --git a/src/pages/Settings/DebugPage.tsx b/src/pages/Settings/DebugPage.tsx
new file mode 100644
index 00000000..d3ec7ad1
--- /dev/null
+++ b/src/pages/Settings/DebugPage.tsx
@@ -0,0 +1,190 @@
+import { useAtom } from "jotai";
+import { useSnackbar } from "notistack";
+import {
+ updateDoc,
+ doc,
+ terminate,
+ clearIndexedDbPersistence,
+} from "firebase/firestore";
+
+import { Container, Stack, Button } from "@mui/material";
+import InlineOpenInNewIcon from "@src/components/InlineOpenInNewIcon";
+
+import SettingsSection from "@src/components/Settings/SettingsSection";
+
+import {
+ projectScope,
+ projectIdAtom,
+ projectSettingsAtom,
+ userRolesAtom,
+ allUsersAtom,
+ updateUserAtom,
+} from "@src/atoms/projectScope";
+import UserManagementSourceFirebase from "@src/sources/MembersSourceFirebase";
+import { firebaseDbAtom } from "@src/sources/ProjectSourceFirebase";
+import { CONFIG, TABLE_SCHEMAS, USERS } from "@src/config/dbPaths";
+import { getTableSchemaPath } from "@src/utils/table";
+import { useScrollToHash } from "@src/hooks/useScrollToHash";
+
+export default function DebugPage() {
+ const [firebaseDb] = useAtom(firebaseDbAtom, projectScope);
+ const [projectId] = useAtom(projectIdAtom, projectScope);
+ const [projectSettings] = useAtom(projectSettingsAtom, projectScope);
+ const [userRoles] = useAtom(userRolesAtom, projectScope);
+ const [users] = useAtom(allUsersAtom, projectScope);
+ const [updateUser] = useAtom(updateUserAtom, projectScope);
+ const { enqueueSnackbar, closeSnackbar } = useSnackbar();
+ useScrollToHash();
+
+ return (
+
+ {userRoles.includes("ADMIN") && }
+
+
+
+
+
+
+
+
+
+
+ {userRoles.includes("ADMIN") && (
+
+
+
+
+ )}
+
+
+
+
+
+
+ );
+}
diff --git a/src/pages/Settings/DebugSettingsPage.tsx b/src/pages/Settings/DebugSettingsPage.tsx
deleted file mode 100644
index c5ad9025..00000000
--- a/src/pages/Settings/DebugSettingsPage.tsx
+++ /dev/null
@@ -1,142 +0,0 @@
-import { useAtom } from "jotai";
-import { useSnackbar } from "notistack";
-import {
- updateDoc,
- doc,
- terminate,
- clearIndexedDbPersistence,
-} from "firebase/firestore";
-
-import { Container, Stack, Button } from "@mui/material";
-
-import SettingsSection from "@src/components/Settings/SettingsSection";
-
-import {
- projectScope,
- projectSettingsAtom,
- allUsersAtom,
- updateUserAtom,
-} from "@src/atoms/projectScope";
-import UserManagementSourceFirebase from "@src/sources/MembersSourceFirebase";
-import { firebaseDbAtom } from "@src/sources/ProjectSourceFirebase";
-import { USERS } from "@src/config/dbPaths";
-import { getTableSchemaPath } from "@src/utils/table";
-import { useScrollToHash } from "@src/hooks/useScrollToHash";
-
-export default function DebugSettingsPage() {
- const [firebaseDb] = useAtom(firebaseDbAtom, projectScope);
- const [projectSettings] = useAtom(projectSettingsAtom, projectScope);
- const [users] = useAtom(allUsersAtom, projectScope);
- const [updateUser] = useAtom(updateUserAtom, projectScope);
- const { enqueueSnackbar, closeSnackbar } = useSnackbar();
- useScrollToHash();
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}