import { LuCircle, LuCircleDot, LuEar, LuPlay, LuPlayCircle, LuTruck, } from "react-icons/lu"; import { IoMdExit } from "react-icons/io"; import { MdFaceUnlock, MdOutlineLocationOn, MdOutlinePictureInPictureAlt, } from "react-icons/md"; export function getTimelineIcon(timelineItem: Timeline) { switch (timelineItem.class_type) { case "visible": return ; case "gone": return ; case "active": return ; case "stationary": return ; case "entered_zone": return ; case "attribute": switch (timelineItem.data.attribute) { case "face": return ; case "license_plate": return ; default: return ; } case "sub_label": switch (timelineItem.data.label) { case "person": return ; case "car": return ; default: return ; } case "heard": return ; case "external": return ; } } export function getTimelineItemDescription(timelineItem: Timeline) { const label = ( (Array.isArray(timelineItem.data.sub_label) ? timelineItem.data.sub_label[0] : timelineItem.data.sub_label) || timelineItem.data.label ).replaceAll("_", " "); switch (timelineItem.class_type) { case "visible": return `${label} detected`; case "entered_zone": return `${label} entered ${timelineItem.data.zones .join(" and ") .replaceAll("_", " ")}`; case "active": return `${label} became active`; case "stationary": return `${label} became stationary`; case "attribute": { let title = ""; if ( timelineItem.data.attribute == "face" || timelineItem.data.attribute == "license_plate" ) { title = `${timelineItem.data.attribute.replaceAll( "_", " " )} detected for ${label}`; } else { title = `${ timelineItem.data.sub_label } recognized as ${timelineItem.data.attribute.replaceAll("_", " ")}`; } return title; } case "sub_label": return `${timelineItem.data.label} recognized as ${timelineItem.data.sub_label}`; case "gone": return `${label} left`; case "heard": return `${label} heard`; case "external": return `${label} detected`; } }