From d7b93d51f6c4fe4790e938438f34b0d1e9df9e6c Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Wed, 25 Mar 2026 14:38:42 +0800 Subject: [PATCH] cleanup criteria api request --- next-ui/src/functions/filter.ts | 6 ++++++ next-ui/src/pages/libraries/[id]/series.vue | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/next-ui/src/functions/filter.ts b/next-ui/src/functions/filter.ts index ed9ba561..69a37a60 100644 --- a/next-ui/src/functions/filter.ts +++ b/next-ui/src/functions/filter.ts @@ -13,6 +13,7 @@ import * as v from 'valibot' export function schemaFilterSeriesStatusToConditions( filter: InferOutput, ) { + if (filter.v.length === 0) return null const list = filter.v.map((it) => ({ seriesStatus: { operator: 'is', @@ -29,6 +30,7 @@ export function schemaFilterAuthorsToConditions( filter: InferOutput, role?: string, ) { + if (filter.v.length === 0) return null const list = filter.v.map((it) => { if (v.is(SchemaAnyNone, it)) { return { @@ -65,6 +67,7 @@ export function schemaFilterAuthorsToConditions( export function schemaFilterReadStatusToConditions( filter: InferOutput, ) { + if (filter.v.length === 0) return null const list = filter.v.map((it) => { return { readStatus: { @@ -83,6 +86,7 @@ export function schemaFilterStringToConditions( key: string, nullable: boolean, ) { + if (filter.v.length === 0) return null const list = filter.v.map((it) => { if (v.is(SchemaAnyNone, it)) { if (nullable) @@ -154,6 +158,7 @@ export function schemaFilterReleaseYearToConditions( }) } } + if (conds.length === 0) return null return { allOf: conds, } @@ -200,6 +205,7 @@ export function schemaFilterAgeRatingToConditions( }) } } + if (conds.length === 0) return null return { allOf: conds, } diff --git a/next-ui/src/pages/libraries/[id]/series.vue b/next-ui/src/pages/libraries/[id]/series.vue index 48b22c83..2111948e 100644 --- a/next-ui/src/pages/libraries/[id]/series.vue +++ b/next-ui/src/pages/libraries/[id]/series.vue @@ -416,7 +416,7 @@ const conds = computed(() => ({ ...Object.entries(filterAuthors).map(([, filter]) => schemaFilterAuthorsToConditions(toValue(filter.filter), toValue(filter.role)), ), - ], + ].filter(Boolean), })) // clear selection if filter or paging changes