import Heading from "@/components/ui/heading"; import { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { useCallback, useEffect } from "react"; import { Toaster } from "sonner"; import { toast } from "sonner"; import { Separator } from "../../components/ui/separator"; import { Button } from "../../components/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 { isSafari } from "react-device-detect"; import { Select, SelectContent, SelectGroup, SelectItem, SelectTrigger, } from "../../components/ui/select"; const PLAYBACK_RATE_DEFAULT = isSafari ? [0.5, 1, 2] : [0.5, 1, 2, 4, 8, 16]; const WEEK_STARTS_ON = ["Sunday", "Monday"]; export default function GeneralSettingsView() { const { data: config } = useSWR("config"); const clearStoredLayouts = useCallback(() => { if (!config) { return []; } Object.entries(config.camera_groups).forEach(async (value) => { await delData(`${value[0]}-draggable-layout`) .then(() => { toast.success(`Cleared stored layout for ${value[0]}`, { position: "top-center", }); }) .catch((error) => { toast.error( `Failed to clear stored layout: ${error.response.data.message}`, { position: "top-center" }, ); }); }); }, [config]); useEffect(() => { document.title = "General Settings - Frigate"; }, []); // settings const [autoLive, setAutoLive] = usePersistence("autoLiveView", true); const [playbackRate, setPlaybackRate] = usePersistence("playbackRate", 1); const [weekStartsOn, setWeekStartsOn] = usePersistence("weekStartsOn", 0); return ( <>
General Settings Live Dashboard

Automatically switch to a camera's live view when activity is detected. Disabling this option causes static camera images on the Live dashboard to only update once per minute.

Stored Layouts

The layout of cameras in a camera group can be dragged/resized. The positions are stored in your browser's local storage.

Recordings Viewer
Default Playback Rate

Default playback rate for recordings playback.

Calendar
First Weekday

The day that the weeks of the review calendar begin on.

); }