From b57a70381262dbf0d3c739041f573b6b6bddfc80 Mon Sep 17 00:00:00 2001 From: John Costa Date: Sun, 4 May 2025 09:56:41 +0100 Subject: [PATCH] feat: improving search --- frontend/src/Search.tsx | 13 ++++++++++--- frontend/src/contexts/SearchImageContext.tsx | 6 +++++- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/frontend/src/Search.tsx b/frontend/src/Search.tsx index dbb6b66..98136c3 100644 --- a/frontend/src/Search.tsx +++ b/frontend/src/Search.tsx @@ -37,20 +37,27 @@ export const Search = () => { createEffect(() => { console.log("DBG: ", images()); setSearchResults(images() ?? []); + console.log(images()); fuze = new Fuse(images() ?? [], { keys: [ { name: "data.Name", weight: 2 }, { name: "rawData", weight: 1 }, ], - threshold: 0.4, + threshold: 0.6, }); }); const onInputChange = (event: InputEvent) => { const query = (event.target as HTMLInputElement).value; - setSearchQuery(query); - setSearchResults(fuze.search(query).map((s) => s.item)); + console.log(query); + + if (query.length === 0) { + setSearchResults(images() ?? []); + } else { + setSearchQuery(query); + setSearchResults(fuze.search(query).map((s) => s.item)); + } }; let searchInputRef: HTMLInputElement | undefined; diff --git a/frontend/src/contexts/SearchImageContext.tsx b/frontend/src/contexts/SearchImageContext.tsx index a4c0427..debdbbb 100644 --- a/frontend/src/contexts/SearchImageContext.tsx +++ b/frontend/src/contexts/SearchImageContext.tsx @@ -20,7 +20,11 @@ type SearchImageStore = { // How wonderfully functional const getAllValues = (object: object): Array => { const loop = (acc: Array, next: object): Array => { - for (const _value of Object.values(next)) { + for (const [key, _value] of Object.entries(next)) { + if (key === "ID") { + continue; + } + const value: unknown = _value; switch (typeof value) { case "object":