From 7cb33d7d8815f3da9a9480fd51e4fe8e9c3edd2b Mon Sep 17 00:00:00 2001 From: Konrad Mohrfeldt <km@roko.li> Date: Fri, 7 Jun 2024 16:49:54 +0200 Subject: [PATCH] fix: ensure only valid values are part of order filter --- src/Pages/MyShows.vue | 2 +- src/components/OrderFilter.vue | 15 ++++++++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/Pages/MyShows.vue b/src/Pages/MyShows.vue index f2732f84..4288f635 100644 --- a/src/Pages/MyShows.vue +++ b/src/Pages/MyShows.vue @@ -179,7 +179,7 @@ const selectedCategory = useRouteQuery<Category['id'] | ''>('category', '') const debouncedSearchTerm = computedDebounced(searchTerm, (q: string) => (q.trim() ? 0.3 : 0)) const order = useStorage<ShowOrder[]>('aura:myShows:order', ['-is_owner', '-is_active', 'slug']) const query = useQuery(() => ({ - order: order.value.join(','), + order: order.value.filter((v) => v).join(','), search: debouncedSearchTerm.value.trim(), categoryIds: selectedCategory.value || undefined, isWritable: '1', diff --git a/src/components/OrderFilter.vue b/src/components/OrderFilter.vue index c8df62c8..cc205441 100644 --- a/src/components/OrderFilter.vue +++ b/src/components/OrderFilter.vue @@ -65,7 +65,10 @@ const orderFields = computed<OrderField[]>(() => { return props.choices.map((choice) => normalizeOrderField(choice)) }) const selectedFieldNames = computed( - () => modelValue.value.map((value) => (value.startsWith('-') ? value.slice(1) : value)) as T[], + () => + modelValue.value + .filter((v) => v) + .map((value) => (value.startsWith('-') ? value.slice(1) : value)) as T[], ) const deselectedFieldNames = computed( () => @@ -101,10 +104,12 @@ const normalizedChoices = computed(() => { const selectedOrder = computed( () => Object.fromEntries( - modelValue.value.map((value) => { - const field = (value.startsWith('-') ? value.slice(1) : value) as T - return [field, value.startsWith('-') ? 'desc' : 'asc'] - }), + modelValue.value + .filter((v) => v) + .map((value) => { + const field = (value.startsWith('-') ? value.slice(1) : value) as T + return [field, value.startsWith('-') ? 'desc' : 'asc'] + }), ) as Record<T, OrderDirection>, ) -- GitLab