diff --git a/web/src/components/settings/General.tsx b/web/src/components/settings/General.tsx index bdd30fdb7..cd9e8528a 100644 --- a/web/src/components/settings/General.tsx +++ b/web/src/components/settings/General.tsx @@ -9,6 +9,17 @@ import { Button } from "../ui/button"; import useSWR from "swr"; import { FrigateConfig } from "@/types/frigateConfig"; import { del as delData } from "idb-keyval"; +import { usePersistence } from "@/hooks/use-persistence"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from "../ui/dropdown-menu"; +import { isSafari } from "react-device-detect"; + +const PLAYBACK_RATE_DEFAULT = isSafari ? [0.5, 1, 2] : [0.5, 1, 2, 4, 8, 16]; export default function General() { const { data: config } = useSWR("config"); @@ -38,6 +49,8 @@ export default function General() { document.title = "General Settings - Frigate"; }, []); + const [playbackRate, setPlaybackRate] = usePersistence("playbackRate", 1); + return ( <>
@@ -64,6 +77,35 @@ export default function General() {
+
+
+
Default Playback Rate
+
+

Default playback rate for recordings playback.

+
+
+
+ + + + + + setPlaybackRate(parseFloat(rate))} + > + {PLAYBACK_RATE_DEFAULT.map((rate) => ( + + {rate}x + + ))} + + + +
Low Data Mode