From d5fb3fb521cd5a137bbe09126a747247ada1e69c Mon Sep 17 00:00:00 2001 From: goon-foss Date: Mon, 14 Sep 2026 14:38:59 +0200 Subject: [PATCH] fix(mobile): reset filtrow dziala od razu, licznik filtrow wzgledem domyslnych, rok w filtrze filmow 1900..2100 - ScenesFilterModal: Reset all filters stosuje domyslne i zamyka arkusz (f5193fba) - ScenesScreen: has_playback domyslnie wlaczone nie liczy sie jako filtr, za to sort, min. dlugosc, min. jakosc i stuby tak - MovieFiltersSheet: rok poza 1900..2100 ignorowany zamiast 422 (2b6dbc75) - changelog 2026-09-14a, OTA 6cca22ce na 1.3 Co-Authored-By: Claude Fable 5.1 --- mobile/src/changelog.ts | 9 +++++++++ mobile/src/components/MovieFiltersSheet.tsx | 5 +++-- mobile/src/screens/ScenesFilterModal.tsx | 5 ++++- mobile/src/screens/ScenesScreen.tsx | 8 ++++++-- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/mobile/src/changelog.ts b/mobile/src/changelog.ts index 0729993..67605bb 100644 --- a/mobile/src/changelog.ts +++ b/mobile/src/changelog.ts @@ -29,6 +29,15 @@ export type ChangelogEntry = { }; export const CHANGELOG: ChangelogEntry[] = [ + { + id: '2026-09-14a', + date: 'September 2026', + items: [ + 'xhamster and mypornerleak thumbnails show up in lists straight away. Both sites changed their pages; new scenes get thumbnails at import again and the last 30 days are being filled in.', + '"Reset all filters" now applies immediately and closes the sheet, and the filter badge no longer shows "1" when nothing is set.', + 'Movies: a release year outside 1900 to 2100 is ignored instead of breaking the list.', + ], + }, { id: '2026-09-08c', date: 'September 2026', diff --git a/mobile/src/components/MovieFiltersSheet.tsx b/mobile/src/components/MovieFiltersSheet.tsx index 7a95ac1..4833593 100644 --- a/mobile/src/components/MovieFiltersSheet.tsx +++ b/mobile/src/components/MovieFiltersSheet.tsx @@ -163,8 +163,9 @@ export function MovieFiltersSheet({ visible, value, onChange, onClose }: Props) const yt = parseInt(yearToText, 10); onChange({ ...draft, - year_from: Number.isFinite(yf) && yf >= 1900 ? yf : null, - year_to: Number.isFinite(yt) && yt >= 1900 ? yt : null, + // Backend przyjmuje 1900..2100; wpisane np. 5005 konczylo sie 422 i pusta lista. + year_from: Number.isFinite(yf) && yf >= 1900 && yf <= 2100 ? yf : null, + year_to: Number.isFinite(yt) && yt >= 1900 && yt <= 2100 ? yt : null, }); onClose(); }; diff --git a/mobile/src/screens/ScenesFilterModal.tsx b/mobile/src/screens/ScenesFilterModal.tsx index ac0dfef..44ee81d 100644 --- a/mobile/src/screens/ScenesFilterModal.tsx +++ b/mobile/src/screens/ScenesFilterModal.tsx @@ -154,7 +154,10 @@ export function ScenesFilterModal({ const toggle = (list: string[], value: string): string[] => list.includes(value) ? list.filter((s) => s !== value) : [...list, value]; - const reset = () => setDraft(DEFAULT_FILTER); + const reset = () => { + setDraft(DEFAULT_FILTER); + onApply(DEFAULT_FILTER); + }; const apply = () => onApply(draft); const activeCount = diff --git a/mobile/src/screens/ScenesScreen.tsx b/mobile/src/screens/ScenesScreen.tsx index 7f83b3b..03c2c42 100644 --- a/mobile/src/screens/ScenesScreen.tsx +++ b/mobile/src/screens/ScenesScreen.tsx @@ -149,8 +149,12 @@ export function ScenesScreen({ filter.tagSlugs.length + filter.studioSlugs.length + filter.performerIds.length + - (filter.hasPlayback ? 1 : 0) + - (filter.origin.trim() ? 1 : 0); + (filter.hasPlayback !== DEFAULT_FILTER.hasPlayback ? 1 : 0) + + (filter.origin.trim() ? 1 : 0) + + (filter.sort !== DEFAULT_FILTER.sort ? 1 : 0) + + (filter.minDurationSec > 0 ? 1 : 0) + + (filter.minQualityP > 0 ? 1 : 0) + + (filter.includeStubs ? 1 : 0); // Saved searches, zapisane słowa kluczowe (user-report mobilism). const queryClient = useQueryClient();