Fix sub label icon

This commit is contained in:
Nicolas Mowen 2024-10-14 16:04:06 -06:00
parent 70be0f2776
commit 53afc58afe
2 changed files with 24 additions and 3 deletions

View File

@ -1,4 +1,4 @@
import { useCallback } from "react"; import { useCallback, useMemo } from "react";
import { useApiHost } from "@/api"; import { useApiHost } from "@/api";
import { getIconForLabel } from "@/utils/iconUtil"; import { getIconForLabel } from "@/utils/iconUtil";
import TimeAgo from "../dynamic/TimeAgo"; import TimeAgo from "../dynamic/TimeAgo";
@ -33,6 +33,26 @@ export default function SearchThumbnail({
onClick(searchResult); onClick(searchResult);
}, [searchResult, onClick]); }, [searchResult, onClick]);
const objectLabel = useMemo(() => {
if (
!config ||
!searchResult.sub_label ||
!config.model.attributes_map[searchResult.label]
) {
return searchResult.label;
}
if (
config.model.attributes_map[searchResult.label].includes(
searchResult.sub_label,
)
) {
return searchResult.sub_label;
}
return `${searchResult.label}-verified`;
}, [config, searchResult]);
// date // date
const formattedDate = useFormattedTimestamp( const formattedDate = useFormattedTimestamp(
@ -78,14 +98,14 @@ export default function SearchThumbnail({
className={`z-0 flex items-start justify-between space-x-1 bg-gray-500 bg-gradient-to-br from-gray-400 to-gray-500`} className={`z-0 flex items-start justify-between space-x-1 bg-gray-500 bg-gradient-to-br from-gray-400 to-gray-500`}
onClick={() => onClick(searchResult)} onClick={() => onClick(searchResult)}
> >
{getIconForLabel(searchResult.label, "size-3 text-white")} {getIconForLabel(objectLabel, "size-3 text-white")}
</Chip> </Chip>
</div> </div>
</TooltipTrigger> </TooltipTrigger>
</div> </div>
<TooltipPortal> <TooltipPortal>
<TooltipContent className="capitalize"> <TooltipContent className="capitalize">
{[...new Set([searchResult.label])] {[objectLabel]
.filter( .filter(
(item) => item !== undefined && !item.includes("-verified"), (item) => item !== undefined && !item.includes("-verified"),
) )

View File

@ -340,6 +340,7 @@ export interface FrigateConfig {
path: string | null; path: string | null;
width: number; width: number;
colormap: { [key: string]: [number, number, number] }; colormap: { [key: string]: [number, number, number] };
attributes_map: { [key: string]: [string] };
}; };
motion: Record<string, unknown> | null; motion: Record<string, unknown> | null;