frigate/web/src/pages/Settings.tsx

73 lines
2.2 KiB
TypeScript
Raw Normal View History

import Heading from "@/components/ui/heading";
import { Label } from "@/components/ui/label";
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectLabel,
SelectTrigger,
SelectValue,
} from "@/components/ui/select";
import { Switch } from "@/components/ui/switch";
2024-04-05 15:25:23 +03:00
import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs";
import MotionTuner from "@/components/settings/MotionTuner";
import SettingsZones from "@/components/settings/Zones";
2024-04-05 15:25:23 +03:00
function General() {
return (
<>
<Heading as="h2">Settings</Heading>
<div className="flex items-center space-x-2 mt-5">
<Switch id="detect" checked={false} onCheckedChange={() => {}} />
<Label htmlFor="detect">
Always show PTZ controls for ONVIF cameras
</Label>
</div>
<div className="flex items-center space-x-2 mt-5">
<Select>
<SelectTrigger className="w-[180px]">
<SelectValue placeholder="Default Live Mode" />
</SelectTrigger>
<SelectContent>
<SelectGroup>
<SelectLabel>Live Mode</SelectLabel>
<SelectItem value="jsmpeg">JSMpeg</SelectItem>
<SelectItem value="mse">MSE</SelectItem>
<SelectItem value="webrtc">WebRTC</SelectItem>
</SelectGroup>
</SelectContent>
</Select>
</div>
</>
);
}
2024-04-05 15:25:23 +03:00
export default function Settings() {
return (
<>
<Tabs defaultValue="account" className="w-auto">
<TabsList>
<TabsTrigger value="general">General</TabsTrigger>
<TabsTrigger value="objects">Objects</TabsTrigger>
<TabsTrigger value="zones">Zones</TabsTrigger>
<TabsTrigger value="masks">Masks</TabsTrigger>
<TabsTrigger value="motion">Motion</TabsTrigger>
</TabsList>
<TabsContent value="general">
<General />
</TabsContent>
<TabsContent value="objects">Objects</TabsContent>
<TabsContent value="zones">
<SettingsZones />
</TabsContent>
<TabsContent value="masks">Masks</TabsContent>
<TabsContent value="motion">
<MotionTuner />
</TabsContent>
</Tabs>
</>
);
}