feat: unhide action, date-range filter, more sort options

- Hidden view shows an Unhide action (eye icon) instead of Hide
- Upload-date filter: From/To date range (inclusive); feed shows only videos
  published in that window (backend published_after / published_before)
- New sort options: Name (A-Z) and Channel subscribers, alongside date/views/
  duration/shuffle
- Native controls follow the theme via color-scheme (dark date picker)
This commit is contained in:
npeter83 2026-06-11 04:00:17 +02:00
parent ecbecbb9f4
commit f73cbdb490
5 changed files with 79 additions and 6 deletions

View file

@ -54,6 +54,8 @@ export interface FeedFilters {
maxAgeDays?: number;
minDuration?: number;
maxDuration?: number;
dateFrom?: string;
dateTo?: string;
}
class HttpError extends Error {
@ -86,6 +88,8 @@ function feedQuery(f: FeedFilters, offset: number, limit: number): string {
p.set("show", f.show);
if (f.channelId) p.set("channel_id", f.channelId);
if (f.maxAgeDays) p.set("max_age_days", String(f.maxAgeDays));
if (f.dateFrom) p.set("published_after", f.dateFrom);
if (f.dateTo) p.set("published_before", f.dateTo);
if (f.minDuration != null) p.set("min_duration", String(f.minDuration));
if (f.maxDuration != null) p.set("max_duration", String(f.maxDuration));
p.set("offset", String(offset));