feat: update media filter to support multiple series names and enhance library item fetching
This commit is contained in:
@@ -38,7 +38,7 @@ const mediaFilterSchema = z.object({
|
||||
min_duration_secs: z.number().min(0, "Must be ≥ 0").nullable().optional(),
|
||||
max_duration_secs: z.number().min(0, "Must be ≥ 0").nullable().optional(),
|
||||
collections: z.array(z.string()),
|
||||
series_name: z.string().nullable().optional(),
|
||||
series_names: z.array(z.string()),
|
||||
search_term: z.string().nullable().optional(),
|
||||
});
|
||||
|
||||
@@ -199,7 +199,7 @@ function defaultFilter(): MediaFilter {
|
||||
min_duration_secs: null,
|
||||
max_duration_secs: null,
|
||||
collections: [],
|
||||
series_name: null,
|
||||
series_names: [],
|
||||
search_term: null,
|
||||
};
|
||||
}
|
||||
@@ -252,8 +252,8 @@ function AlgorithmicFilterEditor({
|
||||
onChange={(v) =>
|
||||
setFilter({
|
||||
content_type: v === "" ? null : (v as ContentType),
|
||||
// clear series name if switching away from episode
|
||||
series_name: v !== "episode" ? null : content.filter.series_name,
|
||||
// clear series names if switching away from episode
|
||||
series_names: v !== "episode" ? [] : content.filter.series_names,
|
||||
})
|
||||
}
|
||||
>
|
||||
@@ -282,12 +282,12 @@ function AlgorithmicFilterEditor({
|
||||
hint={
|
||||
content.strategy === "sequential"
|
||||
? "Episodes will play in chronological order"
|
||||
: "Filter to one show, or leave empty for all"
|
||||
: "Filter to specific shows, or leave empty for all"
|
||||
}
|
||||
>
|
||||
<SeriesPicker
|
||||
value={content.filter.series_name ?? null}
|
||||
onChange={(v) => setFilter({ series_name: v })}
|
||||
values={content.filter.series_names ?? []}
|
||||
onChange={(v) => setFilter({ series_names: v })}
|
||||
series={series ?? []}
|
||||
isLoading={loadingSeries}
|
||||
/>
|
||||
|
||||
Reference in New Issue
Block a user