diff --git a/web/src/components/filter/ReviewFilterGroup.tsx b/web/src/components/filter/ReviewFilterGroup.tsx
index 91e390847..5baece1f9 100644
--- a/web/src/components/filter/ReviewFilterGroup.tsx
+++ b/web/src/components/filter/ReviewFilterGroup.tsx
@@ -75,6 +75,9 @@ export default function ReviewFilterGroup({
const cameras = filter?.cameras || Object.keys(config.cameras);
cameras.forEach((camera) => {
+ if (camera == "birdseye") {
+ return;
+ }
const cameraConfig = config.cameras[camera];
cameraConfig.objects.track.forEach((label) => {
labels.add(label);
@@ -219,24 +222,30 @@ function CamerasFilterButton({
const trigger = (
);
const content = (
<>
-
- Filter Cameras
-
-
+ {isMobile && (
+ <>
+
+ Cameras
+
+
+ >
+ )}
>
@@ -664,10 +673,11 @@ function ShowMotionOnlyButton({
diff --git a/web/src/components/player/PreviewPlayer.tsx b/web/src/components/player/PreviewPlayer.tsx
index 0237fa706..11ef78c1b 100644
--- a/web/src/components/player/PreviewPlayer.tsx
+++ b/web/src/components/player/PreviewPlayer.tsx
@@ -235,7 +235,7 @@ function PreviewVideoPlayer({
return (
{video && features.volume && (
@@ -170,9 +170,9 @@ export default function VideoControls({
)}
{isPlaying ? (
-
+
) : (
-
+
)}
{features.seek && (
diff --git a/web/src/views/events/EventView.tsx b/web/src/views/events/EventView.tsx
index 657d0c745..def4aa972 100644
--- a/web/src/views/events/EventView.tsx
+++ b/web/src/views/events/EventView.tsx
@@ -853,7 +853,10 @@ function MotionReview({
onClick={() =>
onOpenRecording({
camera: camera.name,
- startTime: currentTime,
+ startTime: Math.min(
+ currentTime,
+ Date.now() / 1000 - 30,
+ ),
severity: "significant_motion",
})
}
diff --git a/web/src/views/events/RecordingView.tsx b/web/src/views/events/RecordingView.tsx
index a55c7a099..8283701df 100644
--- a/web/src/views/events/RecordingView.tsx
+++ b/web/src/views/events/RecordingView.tsx
@@ -38,6 +38,7 @@ import MobileCameraDrawer from "@/components/overlay/MobileCameraDrawer";
import MobileTimelineDrawer from "@/components/overlay/MobileTimelineDrawer";
import MobileReviewSettingsDrawer from "@/components/overlay/MobileReviewSettingsDrawer";
import Logo from "@/components/Logo";
+import { Skeleton } from "@/components/ui/skeleton";
const SEGMENT_DURATION = 30;
@@ -503,26 +504,30 @@ function Timeline({
{timelineType == "timeline" ? (
-
setScrubbing(scrubbing)}
- />
+ motionData ? (
+ setScrubbing(scrubbing)}
+ />
+ ) : (
+
+ )
) : (