diff --git a/web/src/pages/Explore.tsx b/web/src/pages/Explore.tsx
index af23c18f4..cf24ff70d 100644
--- a/web/src/pages/Explore.tsx
+++ b/web/src/pages/Explore.tsx
@@ -105,6 +105,7 @@ export default function Explore() {
cameras: searchSearchParams["cameras"],
labels: searchSearchParams["labels"],
sub_labels: searchSearchParams["sub_labels"],
+ identifier: searchSearchParams["identifier"],
zones: searchSearchParams["zones"],
before: searchSearchParams["before"],
after: searchSearchParams["after"],
@@ -140,6 +141,7 @@ export default function Explore() {
cameras: searchSearchParams["cameras"],
labels: searchSearchParams["labels"],
sub_labels: searchSearchParams["sub_labels"],
+ identifier: searchSearchParams["identifier"],
zones: searchSearchParams["zones"],
before: searchSearchParams["before"],
after: searchSearchParams["after"],
diff --git a/web/src/types/search.ts b/web/src/types/search.ts
index cef7f6aff..90bcd54d7 100644
--- a/web/src/types/search.ts
+++ b/web/src/types/search.ts
@@ -58,6 +58,8 @@ export type SearchResult = {
average_estimated_speed: number;
velocity_angle: number;
path_data: [number[], number][];
+ identifier?: string;
+ identifier_score?: number;
};
};
@@ -66,6 +68,7 @@ export type SearchFilter = {
cameras?: string[];
labels?: string[];
sub_labels?: string[];
+ identifier?: string[];
zones?: string[];
before?: number;
after?: number;
@@ -89,6 +92,7 @@ export type SearchQueryParams = {
cameras?: string[];
labels?: string[];
sub_labels?: string[];
+ identifier?: string[];
zones?: string[];
before?: string;
after?: string;
diff --git a/web/src/views/search/SearchView.tsx b/web/src/views/search/SearchView.tsx
index adbc96413..7f1b1e4a1 100644
--- a/web/src/views/search/SearchView.tsx
+++ b/web/src/views/search/SearchView.tsx
@@ -121,6 +121,7 @@ export default function SearchView({
}, [config, searchFilter]);
const { data: allSubLabels } = useSWR("sub_labels");
+ const { data: allIdentifiers } = useSWR("identifiers");
const allZones = useMemo(() => {
if (!config) {
@@ -160,12 +161,13 @@ export default function SearchView({
max_score: ["100"],
min_speed: ["1"],
max_speed: ["150"],
+ identifier: allIdentifiers,
has_clip: ["yes", "no"],
has_snapshot: ["yes", "no"],
...(config?.plus?.enabled &&
searchFilter?.has_snapshot && { is_submitted: ["yes", "no"] }),
}),
- [config, allLabels, allZones, allSubLabels, searchFilter],
+ [config, allLabels, allZones, allSubLabels, allIdentifiers, searchFilter],
);
// remove duplicate event ids