mirror of
https://github.com/blakeblackshear/frigate.git
synced 2026-02-08 12:15:25 +03:00
Add tooltips to thumbnails
This commit is contained in:
parent
9e82d6ae43
commit
3354c8c009
@ -2,6 +2,7 @@ import { baseUrl } from "@/api/baseUrl";
|
|||||||
import { Event as FrigateEvent } from "@/types/event";
|
import { Event as FrigateEvent } from "@/types/event";
|
||||||
import { LuStar } from "react-icons/lu";
|
import { LuStar } from "react-icons/lu";
|
||||||
import TimeAgo from "../dynamic/TimeAgo";
|
import TimeAgo from "../dynamic/TimeAgo";
|
||||||
|
import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/tooltip";
|
||||||
|
|
||||||
type EventThumbnailProps = {
|
type EventThumbnailProps = {
|
||||||
event: FrigateEvent;
|
event: FrigateEvent;
|
||||||
@ -9,6 +10,8 @@ type EventThumbnailProps = {
|
|||||||
};
|
};
|
||||||
export function EventThumbnail({ event, onFavorite }: EventThumbnailProps) {
|
export function EventThumbnail({ event, onFavorite }: EventThumbnailProps) {
|
||||||
return (
|
return (
|
||||||
|
<Tooltip>
|
||||||
|
<TooltipTrigger asChild>
|
||||||
<div
|
<div
|
||||||
className="relative rounded bg-cover aspect-square h-24 bg-no-repeat bg-center mr-4"
|
className="relative rounded bg-cover aspect-square h-24 bg-no-repeat bg-center mr-4"
|
||||||
style={{
|
style={{
|
||||||
@ -26,5 +29,16 @@ export function EventThumbnail({ event, onFavorite }: EventThumbnailProps) {
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</TooltipTrigger>
|
||||||
|
<TooltipContent>
|
||||||
|
{`${event.label} ${
|
||||||
|
event.sub_label ? `(${event.sub_label})` : ""
|
||||||
|
} detected with score of ${(event.data.score * 100).toFixed(0)}% ${
|
||||||
|
event.data.sub_label_score
|
||||||
|
? `(${event.data.sub_label_score * 100}%)`
|
||||||
|
: ""
|
||||||
|
}`}
|
||||||
|
</TooltipContent>
|
||||||
|
</Tooltip>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
import { EventThumbnail } from "@/components/image/EventThumbnail";
|
import { EventThumbnail } from "@/components/image/EventThumbnail";
|
||||||
import LivePlayer from "@/components/player/LivePlayer";
|
import LivePlayer from "@/components/player/LivePlayer";
|
||||||
import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
|
import { ScrollArea, ScrollBar } from "@/components/ui/scroll-area";
|
||||||
|
import { TooltipProvider } from "@/components/ui/tooltip";
|
||||||
import { Event as FrigateEvent } from "@/types/event";
|
import { Event as FrigateEvent } from "@/types/event";
|
||||||
import { FrigateConfig } from "@/types/frigateConfig";
|
import { FrigateConfig } from "@/types/frigateConfig";
|
||||||
import axios from "axios";
|
import axios from "axios";
|
||||||
@ -57,6 +58,7 @@ function Live() {
|
|||||||
<>
|
<>
|
||||||
{events && events.length > 0 && (
|
{events && events.length > 0 && (
|
||||||
<ScrollArea>
|
<ScrollArea>
|
||||||
|
<TooltipProvider>
|
||||||
<div className="flex">
|
<div className="flex">
|
||||||
{events.map((event) => {
|
{events.map((event) => {
|
||||||
return (
|
return (
|
||||||
@ -68,6 +70,7 @@ function Live() {
|
|||||||
);
|
);
|
||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
</TooltipProvider>
|
||||||
<ScrollBar orientation="horizontal" />
|
<ScrollBar orientation="horizontal" />
|
||||||
</ScrollArea>
|
</ScrollArea>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@ -16,10 +16,11 @@ export interface Event {
|
|||||||
data: {
|
data: {
|
||||||
top_score: number;
|
top_score: number;
|
||||||
score: number;
|
score: number;
|
||||||
|
sub_label_score?: number;
|
||||||
region: number[];
|
region: number[];
|
||||||
box: number[];
|
box: number[];
|
||||||
area: number;
|
area: number;
|
||||||
ratio: number;
|
ratio: number;
|
||||||
type: "object" | "audio" | "manual";
|
type: "object" | "audio" | "manual";
|
||||||
}
|
};
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user