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