diff --git a/web/src/components/overlay/detail/SearchDetailDialog.tsx b/web/src/components/overlay/detail/SearchDetailDialog.tsx index 4ead27218..dd1384951 100644 --- a/web/src/components/overlay/detail/SearchDetailDialog.tsx +++ b/web/src/components/overlay/detail/SearchDetailDialog.tsx @@ -498,7 +498,7 @@ export default function SearchDetailDialog({ const views = [...SEARCH_TABS]; - if (search.data.type != "object" || !search.has_clip) { + if (!search.has_clip) { const index = views.indexOf("tracking_details"); views.splice(index, 1); } diff --git a/web/src/components/overlay/detail/TrackingDetails.tsx b/web/src/components/overlay/detail/TrackingDetails.tsx index 26cba7d3a..ae4cf31f3 100644 --- a/web/src/components/overlay/detail/TrackingDetails.tsx +++ b/web/src/components/overlay/detail/TrackingDetails.tsx @@ -900,96 +900,99 @@ function LifecycleIconRow({
{getLifecycleItemDescription(item)}
-
-
- - {t("trackingDetails.lifecycleItemDesc.header.score")} - - {score} -
-
- - {t("trackingDetails.lifecycleItemDesc.header.ratio")} - - {ratio} -
-
- - {t("trackingDetails.lifecycleItemDesc.header.area")}{" "} - {attributeAreaPx !== undefined && - attributeAreaPct !== undefined && ( - - ({getTranslatedLabel(item.data.label)}) - - )} - - {areaPx !== undefined && areaPct !== undefined ? ( - - {t("information.pixels", { ns: "common", area: areaPx })} ·{" "} - {areaPct}% + {/* Only show Score/Ratio/Area for object events, not for audio (heard) or manual API (external) events */} + {item.class_type !== "heard" && item.class_type !== "external" && ( +
+
+ + {t("trackingDetails.lifecycleItemDesc.header.score")} - ) : ( - N/A - )} -
- {attributeAreaPx !== undefined && - attributeAreaPct !== undefined && ( -
- - {t("trackingDetails.lifecycleItemDesc.header.area")} ( - {getTranslatedLabel(item.data.attribute)}) - - - {t("information.pixels", { - ns: "common", - area: attributeAreaPx, - })}{" "} - · {attributeAreaPct}% - -
- )} - - {item.data?.zones && item.data.zones.length > 0 && ( -
- {item.data.zones.map((zone, zidx) => { - const color = getZoneColor(zone)?.join(",") ?? "0,0,0"; - return ( - { - e.stopPropagation(); - setSelectedZone(zone); - }} - style={{ - borderColor: `rgba(${color}, 0.6)`, - background: `rgba(${color}, 0.08)`, - }} - > - - - {item.data?.zones_friendly_names?.[zidx]} - - - ); - })} + {score}
- )} -
+
+ + {t("trackingDetails.lifecycleItemDesc.header.ratio")} + + {ratio} +
+
+ + {t("trackingDetails.lifecycleItemDesc.header.area")}{" "} + {attributeAreaPx !== undefined && + attributeAreaPct !== undefined && ( + + ({getTranslatedLabel(item.data.label)}) + + )} + + {areaPx !== undefined && areaPct !== undefined ? ( + + {t("information.pixels", { ns: "common", area: areaPx })}{" "} + · {areaPct}% + + ) : ( + N/A + )} +
+ {attributeAreaPx !== undefined && + attributeAreaPct !== undefined && ( +
+ + {t("trackingDetails.lifecycleItemDesc.header.area")} ( + {getTranslatedLabel(item.data.attribute)}) + + + {t("information.pixels", { + ns: "common", + area: attributeAreaPx, + })}{" "} + · {attributeAreaPct}% + +
+ )} +
+ )} + + {item.data?.zones && item.data.zones.length > 0 && ( +
+ {item.data.zones.map((zone, zidx) => { + const color = getZoneColor(zone)?.join(",") ?? "0,0,0"; + return ( + { + e.stopPropagation(); + setSelectedZone(zone); + }} + style={{ + borderColor: `rgba(${color}, 0.6)`, + background: `rgba(${color}, 0.08)`, + }} + > + + + {item.data?.zones_friendly_names?.[zidx]} + + + ); + })} +
+ )}