diff --git a/web/src/components/filter/CameraGroupSelector.tsx b/web/src/components/filter/CameraGroupSelector.tsx
index 0b38bb713..2f3628088 100644
--- a/web/src/components/filter/CameraGroupSelector.tsx
+++ b/web/src/components/filter/CameraGroupSelector.tsx
@@ -568,7 +568,7 @@ export function CameraGroupEdit({
/>
-
+
{
+ const now = new Date(latestTime * 1000);
+ let start = 0;
+ now.setHours(now.getHours() - 1);
+ start = now.getTime() / 1000;
+ setRange({
+ before: latestTime,
+ after: start,
+ });
setMode("select");
}}
>
diff --git a/web/src/components/player/PreviewThumbnailPlayer.tsx b/web/src/components/player/PreviewThumbnailPlayer.tsx
index c36a2e129..97e96713c 100644
--- a/web/src/components/player/PreviewThumbnailPlayer.tsx
+++ b/web/src/components/player/PreviewThumbnailPlayer.tsx
@@ -24,6 +24,7 @@ import ActivityIndicator from "../indicators/activity-indicator";
import { TimeRange } from "@/types/timeline";
import { NoThumbSlider } from "../ui/slider";
import { PREVIEW_FPS, PREVIEW_PADDING } from "@/types/preview";
+import { capitalizeFirstLetter } from "@/utils/stringUtil";
type PreviewPlayerProps = {
review: ReviewSegment;
@@ -263,7 +264,7 @@ export default function PreviewThumbnailPlayer({
.filter(
(item) => item !== undefined && !item.includes("-verified"),
)
- .map((text) => text.charAt(0).toUpperCase() + text.substring(1))
+ .map((text) => capitalizeFirstLetter(text))
.sort()
.join(", ")
.replaceAll("-verified", "")}
diff --git a/web/src/pages/SubmitPlus.tsx b/web/src/pages/SubmitPlus.tsx
index f51ad514d..e2863760a 100644
--- a/web/src/pages/SubmitPlus.tsx
+++ b/web/src/pages/SubmitPlus.tsx
@@ -3,6 +3,7 @@ import {
CamerasFilterButton,
GeneralFilterContent,
} from "@/components/filter/ReviewFilterGroup";
+import Chip from "@/components/indicators/Chip";
import { Button } from "@/components/ui/button";
import {
Dialog,
@@ -23,8 +24,15 @@ import { Input } from "@/components/ui/input";
import { Label } from "@/components/ui/label";
import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group";
import { DualThumbSlider } from "@/components/ui/slider";
+import {
+ Tooltip,
+ TooltipContent,
+ TooltipTrigger,
+} from "@/components/ui/tooltip";
import { Event } from "@/types/event";
import { ATTRIBUTE_LABELS, FrigateConfig } from "@/types/frigateConfig";
+import { getIconForLabel } from "@/utils/iconUtil";
+import { capitalizeFirstLetter } from "@/utils/stringUtil";
import axios from "axios";
import { useCallback, useEffect, useMemo, useState } from "react";
import { isMobile } from "react-device-detect";
@@ -182,9 +190,36 @@ export default function SubmitPlus() {
return (
setUpload(event)}
>
+
+
+
+
+
+
+ {[event.label].map((object) => {
+ return getIconForLabel(
+ object,
+ "size-3 text-white",
+ );
+ })}
+
+
+
+
+
+ {[event.label]
+ .map((text) => capitalizeFirstLetter(text))
+ .sort()
+ .join(", ")
+ .replaceAll("-verified", "")}
+
+
+