diff --git a/web/src/components/image/EventThumbnail.tsx b/web/src/components/image/EventThumbnail.tsx
new file mode 100644
index 000000000..6b5e36275
--- /dev/null
+++ b/web/src/components/image/EventThumbnail.tsx
@@ -0,0 +1,24 @@
+import { baseUrl } from "@/api/baseUrl";
+import { Event as FrigateEvent } from "@/types/event";
+import { LuStar } from "react-icons/lu";
+
+type EventThumbnailProps = {
+ event: FrigateEvent;
+ onFavorite?: (e: Event, event: FrigateEvent) => void;
+};
+export function EventThumbnail({ event, onFavorite }: EventThumbnailProps) {
+ return (
+
+ (onFavorite ? onFavorite(e, event) : null)}
+ fill={event.retain_indefinitely ? "currentColor" : "none"}
+ />
+
+ );
+}
diff --git a/web/src/components/player/LivePlayer.tsx b/web/src/components/player/LivePlayer.tsx
index 8bf3bf13c..7305881e1 100644
--- a/web/src/components/player/LivePlayer.tsx
+++ b/web/src/components/player/LivePlayer.tsx
@@ -78,7 +78,7 @@ export default function LivePlayer({
if ("MediaSource" in window || "ManagedMediaSource" in window) {
player = (
);
@@ -131,14 +131,10 @@ export default function LivePlayer({
}
return (
-
+
+
{player}
-
-
-
- {cameraConfig.name.replaceAll("_", " ")}
-
-
+
);
}
diff --git a/web/src/pages/Live.tsx b/web/src/pages/Live.tsx
index 4b7afd2f8..43177e328 100644
--- a/web/src/pages/Live.tsx
+++ b/web/src/pages/Live.tsx
@@ -1,11 +1,10 @@
-import { baseUrl } from "@/api/baseUrl";
+import { EventThumbnail } from "@/components/image/EventThumbnail";
import LivePlayer from "@/components/player/LivePlayer";
import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
import { Event as FrigateEvent } from "@/types/event";
import { FrigateConfig } from "@/types/frigateConfig";
import axios from "axios";
import { useCallback, useEffect, useMemo, useState } from "react";
-import { LuStar } from "react-icons/lu";
import useSWR from "swr";
function Live() {
@@ -16,7 +15,7 @@ function Live() {
const [recentCutoff, setRecentCutoff] = useState
(0);
useEffect(() => {
const date = new Date();
- date.setHours(date.getHours() - 12);
+ date.setHours(date.getHours() - 4);
setRecentCutoff(date.getTime() / 1000);
const intervalId: NodeJS.Timeout = setInterval(() => {
@@ -66,19 +65,11 @@ function Live() {
{events.map((event) => {
return (
-
- onFavorite(e, event)}
- fill={event.retain_indefinitely ? "currentColor" : "none"}
- />
-
+ event={event}
+ onFavorite={onFavorite}
+ />
);
})}
@@ -91,7 +82,7 @@ function Live() {
return (
);