From e06f967803418afb9b01be3c62964352b8b09270 Mon Sep 17 00:00:00 2001 From: Johnpaul Date: Tue, 23 Sep 2025 03:57:46 +0100 Subject: [PATCH] fix: implement debounced search query in useTemplateFiltering for improved performance --- src/composables/useTemplateFiltering.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/composables/useTemplateFiltering.ts b/src/composables/useTemplateFiltering.ts index a82a06a65f..4930c766a3 100644 --- a/src/composables/useTemplateFiltering.ts +++ b/src/composables/useTemplateFiltering.ts @@ -1,3 +1,4 @@ +import { refDebounced } from '@vueuse/core' import Fuse from 'fuse.js' import { type Ref, computed, ref } from 'vue' @@ -77,12 +78,14 @@ export function useTemplateFiltering( return ['Open Source', 'Closed Source (API Nodes)'] }) + const debouncedSearchQuery = refDebounced(searchQuery, 50) + const filteredBySearch = computed(() => { - if (!searchQuery.value.trim()) { + if (!debouncedSearchQuery.value.trim()) { return templatesArray.value } - const results = fuse.value.search(searchQuery.value) + const results = fuse.value.search(debouncedSearchQuery.value) return results.map((result) => result.item) })