Use genai title for tooltip when available

This commit is contained in:
Nicolas Mowen 2025-10-09 07:17:24 -06:00
parent 66ad2413ba
commit eb8c113910
3 changed files with 28 additions and 16 deletions

View File

@ -50,6 +50,27 @@ export function AnimatedEventCard({
fetchPreviews: !currentHour, fetchPreviews: !currentHour,
}); });
const tooltipText = useMemo(() => {
if (event?.data?.metadata?.title) {
return event.data.metadata.title;
}
return (
`${[
...new Set([
...(event.data.objects || []),
...(event.data.sub_labels || []),
...(event.data.audio || []),
]),
]
.filter((item) => item !== undefined && !item.includes("-verified"))
.map((text) => text.charAt(0).toUpperCase() + text.substring(1))
.sort()
.join(", ")
.replaceAll("-verified", "")} ` + t("detected")
);
}, [event, t]);
// visibility // visibility
const [windowVisible, setWindowVisible] = useState(true); const [windowVisible, setWindowVisible] = useState(true);
@ -220,20 +241,7 @@ export function AnimatedEventCard({
)} )}
</div> </div>
</TooltipTrigger> </TooltipTrigger>
<TooltipContent> <TooltipContent>{tooltipText}</TooltipContent>
{`${[
...new Set([
...(event.data.objects || []),
...(event.data.sub_labels || []),
...(event.data.audio || []),
]),
]
.filter((item) => item !== undefined && !item.includes("-verified"))
.map((text) => text.charAt(0).toUpperCase() + text.substring(1))
.sort()
.join(", ")
.replaceAll("-verified", "")} ` + t("detected")}
</TooltipContent>
</Tooltip> </Tooltip>
); );
} }

View File

@ -30,7 +30,7 @@ type FrigateObjectState = {
}; };
export interface FrigateReview { export interface FrigateReview {
type: "new" | "update" | "end"; type: "new" | "update" | "end" | "genai";
before: ReviewSegment; before: ReviewSegment;
after: ReviewSegment; after: ReviewSegment;
} }

View File

@ -114,7 +114,11 @@ export default function LiveDashboardView({
// if event is ended and was saved, update events list // if event is ended and was saved, update events list
if (eventUpdate.after.severity == "alert") { if (eventUpdate.after.severity == "alert") {
if (eventUpdate.type == "end" || eventUpdate.type == "new") { if (
eventUpdate.type == "end" ||
eventUpdate.type == "new" ||
eventUpdate.type == "genai"
) {
setTimeout( setTimeout(
() => updateEvents(), () => updateEvents(),
eventUpdate.type == "end" ? 1000 : 6000, eventUpdate.type == "end" ? 1000 : 6000,