import { IconName } from "@/components/icons/IconPicker";
import { FrigateConfig } from "@/types/frigateConfig";
import { BsPersonWalking } from "react-icons/bs";
import {
FaAmazon,
FaBicycle,
FaBus,
FaCarSide,
FaCat,
FaCheckCircle,
FaDhl,
FaDog,
FaFedex,
FaFire,
FaFootballBall,
FaHockeyPuck,
FaHorse,
FaMotorcycle,
FaMouse,
FaRegTrashAlt,
FaUmbrella,
FaUps,
FaUsps,
} from "react-icons/fa";
import {
GiDeer,
GiFox,
GiGoat,
GiPolarBear,
GiPostStamp,
GiRabbit,
GiRaccoonHead,
GiSailboat,
} from "react-icons/gi";
import { LuBox, LuLassoSelect } from "react-icons/lu";
import * as LuIcons from "react-icons/lu";
import { MdRecordVoiceOver } from "react-icons/md";
import { PiBirdFill } from "react-icons/pi";
export function getAttributeLabels(config?: FrigateConfig) {
if (!config) {
return [];
}
const labels = new Set();
Object.values(config.model.attributes_map).forEach((values) =>
values.forEach((label) => labels.add(label)),
);
return [...labels];
}
export function isValidIconName(value: string): value is IconName {
return Object.keys(LuIcons).includes(value as IconName);
}
export function getIconForLabel(label: string, className?: string) {
if (label.endsWith("-verified")) {
return getVerifiedIcon(label, className);
}
switch (label) {
// objects
case "bear":
return