feat: add metadata provider filter to series page

- Add `metadata_provider` query param to series API endpoints (linked/unlinked/specific provider)
- Return `metadata_provider` field in series response
- Add metadata filter dropdown on series page with all provider options
- Show small provider icon badge on linked series cards
- LiveSearchForm now wraps filters on two rows when needed

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-18 21:35:38 +01:00
parent 63d5fcaa13
commit 06a245d90a
6 changed files with 118 additions and 14 deletions

View File

@@ -123,6 +123,7 @@ export type SeriesDto = {
library_id: string;
series_status: string | null;
missing_count: number | null;
metadata_provider: string | null;
};
export function config() {
@@ -322,6 +323,7 @@ export async function fetchAllSeries(
sort?: string,
seriesStatus?: string,
hasMissing?: boolean,
metadataProvider?: string,
): Promise<SeriesPageDto> {
const params = new URLSearchParams();
if (libraryId) params.set("library_id", libraryId);
@@ -330,6 +332,7 @@ export async function fetchAllSeries(
if (sort) params.set("sort", sort);
if (seriesStatus) params.set("series_status", seriesStatus);
if (hasMissing) params.set("has_missing", "true");
if (metadataProvider) params.set("metadata_provider", metadataProvider);
params.set("page", page.toString());
params.set("limit", limit.toString());