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 <noreply@anthropic.com>
This commit is contained in:
parent
c55596dd6f
commit
d5fb3fb521
4 changed files with 22 additions and 5 deletions
|
|
@ -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',
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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 =
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue