Explore audio event tweaks (#15291)

This commit is contained in:
Josh Hawkins 2024-12-01 12:08:03 -06:00 committed by GitHub
parent 002fdeae67
commit 4a5fe4138e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 82 additions and 77 deletions

View File

@ -108,13 +108,15 @@ export default function SearchResultActions({
</a> </a>
</MenuItem> </MenuItem>
)} )}
<MenuItem {searchResult.data.type == "object" && (
aria-label="Show the object lifecycle" <MenuItem
onClick={showObjectLifecycle} aria-label="Show the object lifecycle"
> onClick={showObjectLifecycle}
<FaArrowsRotate className="mr-2 size-4" /> >
<span>View object lifecycle</span> <FaArrowsRotate className="mr-2 size-4" />
</MenuItem> <span>View object lifecycle</span>
</MenuItem>
)}
{config?.semantic_search?.enabled && isContextMenu && ( {config?.semantic_search?.enabled && isContextMenu && (
<MenuItem <MenuItem
aria-label="Find similar tracked objects" aria-label="Find similar tracked objects"
@ -182,17 +184,18 @@ export default function SearchResultActions({
</ContextMenu> </ContextMenu>
) : ( ) : (
<> <>
{config?.semantic_search?.enabled && ( {config?.semantic_search?.enabled &&
<Tooltip> searchResult.data.type == "object" && (
<TooltipTrigger> <Tooltip>
<MdImageSearch <TooltipTrigger>
className="size-5 cursor-pointer text-primary-variant hover:text-primary" <MdImageSearch
onClick={findSimilar} className="size-5 cursor-pointer text-primary-variant hover:text-primary"
/> onClick={findSimilar}
</TooltipTrigger> />
<TooltipContent>Find similar</TooltipContent> </TooltipTrigger>
</Tooltip> <TooltipContent>Find similar</TooltipContent>
)} </Tooltip>
)}
{!isMobileOnly && {!isMobileOnly &&
config?.plus?.enabled && config?.plus?.enabled &&

View File

@ -452,7 +452,7 @@ function ObjectDetailsTab({
draggable={false} draggable={false}
src={`${apiHost}api/events/${search.id}/thumbnail.jpg`} src={`${apiHost}api/events/${search.id}/thumbnail.jpg`}
/> />
{config?.semantic_search.enabled && ( {config?.semantic_search.enabled && search.data.type == "object" && (
<Button <Button
aria-label="Find similar tracked objects" aria-label="Find similar tracked objects"
onClick={() => { onClick={() => {
@ -626,65 +626,67 @@ export function ObjectSnapshotTab({
</div> </div>
)} )}
</TransformComponent> </TransformComponent>
{search.data.type == "object" && search.plus_id !== "not_enabled" && search.end_time && ( {search.data.type == "object" &&
<Card className="p-1 text-sm md:p-2"> search.plus_id !== "not_enabled" &&
<CardContent className="flex flex-col items-center justify-between gap-3 p-2 md:flex-row"> search.end_time && (
<div className={cn("flex flex-col space-y-3")}> <Card className="p-1 text-sm md:p-2">
<div <CardContent className="flex flex-col items-center justify-between gap-3 p-2 md:flex-row">
className={ <div className={cn("flex flex-col space-y-3")}>
"text-lg font-semibold leading-none tracking-tight" <div
} className={
> "text-lg font-semibold leading-none tracking-tight"
Submit To Frigate+ }
</div> >
<div className="text-sm text-muted-foreground"> Submit To Frigate+
Objects in locations you want to avoid are not false
positives. Submitting them as false positives will confuse
the model.
</div>
</div>
<div className="flex flex-row justify-center gap-2 md:justify-end">
{state == "reviewing" && (
<>
<Button
className="bg-success"
aria-label="Confirm this label for Frigate Plus"
onClick={() => {
setState("uploading");
onSubmitToPlus(false);
}}
>
This is{" "}
{/^[aeiou]/i.test(search?.label || "") ? "an" : "a"}{" "}
{search?.label}
</Button>
<Button
className="text-white"
aria-label="Do not confirm this label for Frigate Plus"
variant="destructive"
onClick={() => {
setState("uploading");
onSubmitToPlus(true);
}}
>
This is not{" "}
{/^[aeiou]/i.test(search?.label || "") ? "an" : "a"}{" "}
{search?.label}
</Button>
</>
)}
{state == "uploading" && <ActivityIndicator />}
{state == "submitted" && (
<div className="flex flex-row items-center justify-center gap-2">
<FaCheckCircle className="text-success" />
Submitted
</div> </div>
)} <div className="text-sm text-muted-foreground">
</div> Objects in locations you want to avoid are not false
</CardContent> positives. Submitting them as false positives will
</Card> confuse the model.
)} </div>
</div>
<div className="flex flex-row justify-center gap-2 md:justify-end">
{state == "reviewing" && (
<>
<Button
className="bg-success"
aria-label="Confirm this label for Frigate Plus"
onClick={() => {
setState("uploading");
onSubmitToPlus(false);
}}
>
This is{" "}
{/^[aeiou]/i.test(search?.label || "") ? "an" : "a"}{" "}
{search?.label}
</Button>
<Button
className="text-white"
aria-label="Do not confirm this label for Frigate Plus"
variant="destructive"
onClick={() => {
setState("uploading");
onSubmitToPlus(true);
}}
>
This is not{" "}
{/^[aeiou]/i.test(search?.label || "") ? "an" : "a"}{" "}
{search?.label}
</Button>
</>
)}
{state == "uploading" && <ActivityIndicator />}
{state == "submitted" && (
<div className="flex flex-row items-center justify-center gap-2">
<FaCheckCircle className="text-success" />
Submitted
</div>
)}
</div>
</CardContent>
</Card>
)}
</div> </div>
</TransformWrapper> </TransformWrapper>
</div> </div>