diff --git a/frigate/config.py b/frigate/config.py
index b71ba1907..14b94a82d 100644
--- a/frigate/config.py
+++ b/frigate/config.py
@@ -85,6 +85,10 @@ class UIConfig(FrigateBaseModel):
strftime_fmt: Optional[str] = Field(
default=None, title="Override date and time format using strftime syntax."
)
+ show_advanced_options: bool = Field(
+ default=True,
+ title="Default setting to show Advanced Options, such as Config, Camera Rec/Motion/Snap buttons, go2rtc dashboard and more.",
+ )
class StatsConfig(FrigateBaseModel):
diff --git a/web/src/AppBar.jsx b/web/src/AppBar.jsx
index b5bb16c0f..fc57458cb 100644
--- a/web/src/AppBar.jsx
+++ b/web/src/AppBar.jsx
@@ -5,9 +5,10 @@ import Menu, { MenuItem, MenuSeparator } from './components/Menu';
import AutoAwesomeIcon from './icons/AutoAwesome';
import LightModeIcon from './icons/LightMode';
import DarkModeIcon from './icons/DarkMode';
+import SettingsIcon from './icons/Settings';
import FrigateRestartIcon from './icons/FrigateRestart';
import Prompt from './components/Prompt';
-import { useDarkMode } from './context';
+import { useDarkMode, useAdvOptions } from './context';
import { useCallback, useRef, useState } from 'preact/hooks';
import { useRestart } from './api/ws';
@@ -15,6 +16,7 @@ export default function AppBar() {
const [showMoreMenu, setShowMoreMenu] = useState(false);
const [showDialog, setShowDialog] = useState(false);
const [showDialogWait, setShowDialogWait] = useState(false);
+ const { showAdvOptions, setShowAdvOptions } = useAdvOptions();
const { setDarkMode } = useDarkMode();
const { send: sendRestart } = useRestart();
@@ -26,6 +28,11 @@ export default function AppBar() {
[setDarkMode, setShowMoreMenu]
);
+ const handleToggleAdvOptions = useCallback(() => {
+ setShowAdvOptions(showAdvOptions === 1 ? 0 : 1);
+ setShowMoreMenu(false);
+ },[showAdvOptions, setShowAdvOptions, setShowMoreMenu]);
+
const moreRef = useRef(null);
const handleShowMenu = useCallback(() => {
@@ -61,6 +68,8 @@ export default function AppBar() {