import { baseUrl } from "@/api/baseUrl"; import LivePlayer from "@/components/player/LivePlayer"; import Heading from "@/components/ui/heading"; import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area"; import { usePersistence } from "@/hooks/use-persistence"; import { Event as FrigateEvent } from "@/types/event"; import { CameraConfig, FrigateConfig } from "@/types/frigateConfig"; import { useMemo, useState } from "react"; import { LuStar } from "react-icons/lu"; import { useParams } from "react-router-dom"; import useSWR from "swr"; function Live() { const { data: config } = useSWR("config"); // recent events const now = new Date(); now.setHours(now.getHours() - 4, 0, 0, 0); const recentTimestamp = now.getTime() / 1000; const { data: events, mutate: updateEvents } = useSWR([ "events", { limit: 10, after: recentTimestamp }, ]); // camera live views const enabledCameras = useMemo(() => { if (!config) { return []; } return Object.values(config.cameras); }, [config]); return ( <> {events && events.length > 0 && (
{events.map((event) => { return (
onSave(e)} fill={event.retain_indefinitely ? "currentColor" : "none"} /> {event.end_time ? null : (
In progress
)}
); })}
)}
{enabledCameras.map((camera) => { return ( ); })}
); } export default Live;