From 35ece12f4432f0e922d20103c2516e9042b8e12b Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Sat, 24 May 2025 10:09:39 -0600 Subject: [PATCH] Add safe mode page that is just the config editor --- web/src/App.tsx | 105 ++++++++++++++++++++------------- web/src/types/frigateConfig.ts | 3 + 2 files changed, 67 insertions(+), 41 deletions(-) diff --git a/web/src/App.tsx b/web/src/App.tsx index a0062549f..d3edbc3a2 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -12,6 +12,8 @@ import { cn } from "./lib/utils"; import { isPWA } from "./utils/isPWA"; import ProtectedRoute from "@/components/auth/ProtectedRoute"; import { AuthProvider } from "@/context/auth-context"; +import useSWR from "swr"; +import { FrigateConfig } from "./types/frigateConfig"; const Live = lazy(() => import("@/pages/Live")); const Events = lazy(() => import("@/pages/Events")); @@ -26,52 +28,16 @@ const Logs = lazy(() => import("@/pages/Logs")); const AccessDenied = lazy(() => import("@/pages/AccessDenied")); function App() { + const { data: config } = useSWR("config", { + revalidateOnFocus: false, + }); + return ( -
- {isDesktop && } - {isDesktop && } - {isMobile && } -
- - - - } - > - } /> - } /> - } /> - } /> - } /> - - } - > - } /> - } /> - } /> - } /> - } /> - - } /> - } /> - - -
-
+ {config?.safe_mode ? : }
@@ -79,4 +45,61 @@ function App() { ); } +function DefaultAppView() { + return ( +
+ {isDesktop && } + {isDesktop && } + {isMobile && } +
+ + + } + > + } /> + } /> + } /> + } /> + } /> + + }> + } /> + } /> + } /> + } /> + } /> + + } /> + } /> + + +
+
+ ); +} + +function SafeAppView() { + return ( +
+
+ + + +
+
+ ); +} + export default App; diff --git a/web/src/types/frigateConfig.ts b/web/src/types/frigateConfig.ts index a6784e559..355d4cb72 100644 --- a/web/src/types/frigateConfig.ts +++ b/web/src/types/frigateConfig.ts @@ -283,6 +283,9 @@ export type AllGroupsStreamingSettings = { }; export interface FrigateConfig { + version: string; + safe_mode: boolean; + audio: { enabled: boolean; enabled_in_config: boolean | null;