From 4b045b3c5587d510b8a5dc1516145d2999f2ccc0 Mon Sep 17 00:00:00 2001 From: Jeremy Mees Date: Sat, 16 May 2026 21:25:00 +0200 Subject: [PATCH] fix: search not working on open5e api --- .vscode/settings.json | 3 ++- app/components/form/Bestiary.vue | 7 +++---- app/components/templates/DnDContentSearch.vue | 8 ++++---- shared/types/open5e.ts | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index c318556f..f3ba76da 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -7,6 +7,7 @@ "cSpell.words": [ "dompurify", "gamesystem", + "icontains", "imagekit", "magicitems", "medior", @@ -15,4 +16,4 @@ "togglebuttons", "vueuse" ] -} \ No newline at end of file +} diff --git a/app/components/form/Bestiary.vue b/app/components/form/Bestiary.vue index fdcf0639..19e06c7d 100644 --- a/app/components/form/Bestiary.vue +++ b/app/components/form/Bestiary.vue @@ -27,7 +27,7 @@ const selectedDocuments = ref(props.preSelectedDocuments) const queryFilters = ref({ page: 0, - search: debouncedSearch.value, + name__icontains: debouncedSearch.value, cr: typeof cr.value === 'string' ? undefined : cr.value, ordering: sortBy.value, document__key__in: selectedDocuments.value.join(','), @@ -36,7 +36,7 @@ const queryFilters = ref({ watch([debouncedSearch, cr, sortBy], () => { queryFilters.value = { page: 0, - search: debouncedSearch.value, + name__icontains: debouncedSearch.value, cr: typeof cr.value === 'string' ? undefined : cr.value, ordering: sortBy.value, document__key__in: selectedDocuments.value.join(','), @@ -46,7 +46,7 @@ watch([debouncedSearch, cr, sortBy], () => { watch(selectedDocuments, () => { queryFilters.value = { page: 0, - search: '', + name__icontains: '', cr: typeof cr.value === 'string' ? undefined : cr.value, ordering: sortBy.value, document__key__in: selectedDocuments.value.join(','), @@ -95,7 +95,6 @@ async function addMonster(monster: DndMonster): Promise { v-model="search" name="search" type="search" - :disabled="isLoading" /> (props.preSelectedDocuments) const queryFilters = ref({ page: 0, - search: debouncedSearch.value, + name__icontains: debouncedSearch.value, ordering: sortBy.value, document__key__in: selectedDocuments.value.join(','), }) @@ -41,7 +41,7 @@ const queryFilters = ref({ watch([debouncedSearch, sortBy], () => { queryFilters.value = { page: 0, - search: debouncedSearch.value, + name__icontains: debouncedSearch.value, ordering: sortBy.value, document__key__in: selectedDocuments.value.join(','), } @@ -50,7 +50,7 @@ watch([debouncedSearch, sortBy], () => { watch([type, selectedDocuments], () => { queryFilters.value = { page: 0, - search: '', + name__icontains: '', ordering: 'name', document__key__in: selectedDocuments.value.join(','), } @@ -112,7 +112,7 @@ async function removePins(): Promise { id="search" v-model="search" data-test-search - :disabled="showPinned || isLoading" + :disabled="showPinned" name="search" type="search" /> diff --git a/shared/types/open5e.ts b/shared/types/open5e.ts index 21a6c448..6de67aca 100644 --- a/shared/types/open5e.ts +++ b/shared/types/open5e.ts @@ -19,7 +19,7 @@ export type Open5eSortBy export interface Open5eFilters { page: number limit?: number - search?: string + name__icontains?: string cr?: number ordering?: Open5eSortBy document__key__in?: string