aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui
diff options
context:
space:
mode:
authorNatsuu <natsukawa247@outlook.com>2026-01-14 05:06:23 +0000
committerNatsuu <natsukawa247@outlook.com>2026-01-14 05:06:23 +0000
commitfc4b535d6f69fa25f33207b9e7117027b3c85e55 (patch)
treee910237cc05c6401dc743b33e32e0ccbdf50aca7 /ui
parenta58130fdf4d3fef3c5150bb444ce551c1886a652 (diff)
downloadDropOut-fc4b535d6f69fa25f33207b9e7117027b3c85e55.tar.gz
DropOut-fc4b535d6f69fa25f33207b9e7117027b3c85e55.zip
feat: optimize search filtering by using normalized query for better accuracy
Diffstat (limited to 'ui')
-rw-r--r--ui/src/components/VersionsView.svelte7
1 files changed, 5 insertions, 2 deletions
diff --git a/ui/src/components/VersionsView.svelte b/ui/src/components/VersionsView.svelte
index 1eba447..27aba7d 100644
--- a/ui/src/components/VersionsView.svelte
+++ b/ui/src/components/VersionsView.svelte
@@ -2,10 +2,13 @@
import { gameState } from "../stores/game.svelte";
let searchQuery = $state("");
+ let normalizedQuery = $derived(
+ searchQuery.trim().toLowerCase().replaceAll("。", ".")
+ );
let filteredVersions = $derived(
gameState.versions.filter((v) =>
- v.id.toLowerCase().includes(searchQuery.trim().toLowerCase().replaceAll("。", "."))
+ v.id.toLowerCase().includes(normalizedQuery)
)
);
</script>
@@ -23,7 +26,7 @@
<div class="grid gap-2">
{#if gameState.versions.length === 0}
<div class="text-zinc-500">Loading versions...</div>
- {:else if filteredVersions.length === 0}
+ {:else if filteredVersions.length === 0 && normalizedQuery.length > 0}
<div class="text-zinc-500">No versions found matching "{searchQuery}"</div>
{:else}
{#each filteredVersions as version}