Dev Mode Switcher
diff --git a/frontend/testing-view/src/components/leftSidebar/AppSidebar.tsx b/frontend/testing-view/src/components/leftSidebar/AppSidebar.tsx
index 4df0e11e6..35940ea2e 100644
--- a/frontend/testing-view/src/components/leftSidebar/AppSidebar.tsx
+++ b/frontend/testing-view/src/components/leftSidebar/AppSidebar.tsx
@@ -8,6 +8,7 @@ import {
import { PAGES_ARRAY } from "../../constants/pages";
import ColorSchemeToggle from "./ColorSchemeToggle";
import ConnectionStatusGroup from "./ConnectionStatusGroup";
+import DevToolsItem from "./DevToolsItem";
import Logo from "./Logo";
import NavigationGroup from "./NavigationGroup";
import SettingsItem from "./SettingsItem";
@@ -27,8 +28,14 @@ const AppSidebar = ({ backendConnected, ...props }: AppSidebarProps) => {
+ {/* Only visible in dev mode */}
+
+
+
+
+
diff --git a/frontend/testing-view/src/components/leftSidebar/DevToolsItem.tsx b/frontend/testing-view/src/components/leftSidebar/DevToolsItem.tsx
new file mode 100644
index 000000000..95e2dff3d
--- /dev/null
+++ b/frontend/testing-view/src/components/leftSidebar/DevToolsItem.tsx
@@ -0,0 +1,35 @@
+import {
+ SidebarGroup,
+ SidebarGroupLabel,
+ SidebarMenuButton,
+} from "@workspace/ui";
+import { Eye, EyeOff } from "@workspace/ui/icons";
+import { useStore } from "../../store/store";
+
+const DevToolsItem = () => {
+ const toggleDevToolsVisible = useStore((s) => s.toggleDevToolsVisible);
+ const isVisible = useStore((s) => s.isDevToolsVisible);
+
+ const isDev = import.meta.env.DEV || import.meta.env.VITE_FORCE_DEV;
+
+ if (!isDev) return null;
+
+ return (
+
+ Dev mode
+ toggleDevToolsVisible()}
+ >
+ {isVisible ? (
+
+ ) : (
+
+ )}
+ Toggle mode switcher
+
+
+ );
+};
+
+export default DevToolsItem;
diff --git a/frontend/testing-view/src/store/slices/appSlice.ts b/frontend/testing-view/src/store/slices/appSlice.ts
index 7afc5a42f..8d9251000 100644
--- a/frontend/testing-view/src/store/slices/appSlice.ts
+++ b/frontend/testing-view/src/store/slices/appSlice.ts
@@ -45,6 +45,10 @@ export interface AppSlice {
setConfig: (config: ConfigData | null) => void;
isLoadingConfig: boolean;
setIsLoadingConfig: (loading: boolean) => void;
+
+ // Dev mode
+ isDevToolsVisible: boolean;
+ toggleDevToolsVisible: () => void;
}
export const createAppSlice: StateCreator = (set) => ({
@@ -96,4 +100,9 @@ export const createAppSlice: StateCreator = (set) => ({
setConfig: (config: ConfigData | null) => set({ config }),
isLoadingConfig: false,
setIsLoadingConfig: (loading: boolean) => set({ isLoadingConfig: loading }),
+
+ // Dev mode
+ isDevToolsVisible: false,
+ toggleDevToolsVisible: () =>
+ set((state) => ({ isDevToolsVisible: !state.isDevToolsVisible })),
});