fix filters

This commit is contained in:
jeffvli
2025-11-07 11:08:22 -08:00
parent 71bd124088
commit cb232ab5af
3 changed files with 20 additions and 20 deletions
@@ -39,12 +39,12 @@ export const JellyfinAlbumFilters = ({
const {
query,
setAlbumArtist,
setAlbumCompilation,
setAlbumFavorite,
setAlbumGenre,
setCompilation,
setCustom,
setMaxAlbumYear,
setMinAlbumYear,
setFavorite,
setGenreId,
setMaxYear,
setMinYear,
} = useAlbumListFilters();
// TODO - eventually replace with /items/filters endpoint to fetch genres and tags specific to the selected library
@@ -87,7 +87,7 @@ export const JellyfinAlbumFilters = ({
{
label: t('filter.isFavorited', { postProcess: 'sentenceCase' }),
onChange: (favoriteValue?: boolean) => {
setAlbumFavorite(favoriteValue ?? null);
setFavorite(favoriteValue ?? null);
},
value: query.favorite,
},
@@ -97,7 +97,7 @@ export const JellyfinAlbumFilters = ({
filters.push({
label: t('filter.isCompilation', { postProcess: 'sentenceCase' }),
onChange: (compilationValue?: boolean) => {
setAlbumCompilation(compilationValue ?? null);
setCompilation(compilationValue ?? null);
},
value: query.compilation,
});
@@ -108,24 +108,24 @@ export const JellyfinAlbumFilters = ({
query.favorite,
query.artistIds?.length,
query.compilation,
setAlbumFavorite,
setAlbumCompilation,
setFavorite,
setCompilation,
]);
const handleMinYearFilter = debounce((e: number | string) => {
if (typeof e === 'number' && (e < 1700 || e > 2300)) return;
const year = e === '' ? undefined : (e as number);
setMinAlbumYear(year ?? null);
setMinYear(year ?? null);
}, 500);
const handleMaxYearFilter = debounce((e: number | string) => {
if (typeof e === 'number' && (e < 1700 || e > 2300)) return;
const year = e === '' ? undefined : (e as number);
setMaxAlbumYear(year ?? null);
setMaxYear(year ?? null);
}, 500);
const handleGenresFilter = debounce((e: string[] | undefined) => {
setAlbumGenre(e ?? null);
setGenreId(e ?? null);
}, 250);
const albumArtistListQuery = useQuery(
@@ -200,7 +200,7 @@ export const JellyfinAlbumFilters = ({
<MultiSelectWithInvalidData
clearable
data={genreList}
defaultValue={query.genres ?? undefined}
defaultValue={query.genreId ?? undefined}
label={t('entity.genre', { count: 2, postProcess: 'sentenceCase' })}
onChange={handleGenresFilter}
searchable
@@ -205,9 +205,9 @@ export const NavidromeAlbumFilters = ({ disableArtistFilter }: NavidromeAlbumFil
<MultiSelectWithInvalidData
clearable
data={genreList}
defaultValue={query.genres}
defaultValue={query.genreId}
label={t('entity.genre', { count: 2, postProcess: 'sentenceCase' })}
onChange={(e) => (e ? setAlbumGenre(e) : undefined)}
onChange={(e) => (e ? setGenreId(e) : undefined)}
searchable
/>
</Group>
@@ -38,7 +38,7 @@ export const SubsonicAlbumFilters = ({
const [maxYear, setMaxYear] = useQueryState(FILTER_KEYS.ALBUM.MAX_YEAR, parseAsInteger);
const [genres, setGenres] = useQueryState(FILTER_KEYS.ALBUM.GENRES, parseAsString);
const [genreId, setGenreId] = useQueryState(FILTER_KEYS.ALBUM.GENRE_ID, parseAsString);
const [artistIds, setArtistIds] = useQueryState(
FILTER_KEYS.ALBUM.ARTIST_IDS,
@@ -103,7 +103,7 @@ export const SubsonicAlbumFilters = ({
}, [genreListQuery.data]);
const handleGenresFilter = debounce((e: null | string) => {
setGenres(e ?? null);
setGenreId(e ?? null);
const updatedFilters: Partial<AlbumListFilter> = {
genres: e ? [e] : undefined,
};
@@ -152,7 +152,7 @@ export const SubsonicAlbumFilters = ({
<Group grow>
<NumberInput
defaultValue={minYear ?? undefined}
disabled={genres !== null}
disabled={genreId !== null}
hideControls={false}
label={t('filter.fromYear', { postProcess: 'sentenceCase' })}
max={5000}
@@ -161,7 +161,7 @@ export const SubsonicAlbumFilters = ({
/>
<NumberInput
defaultValue={maxYear ?? undefined}
disabled={genres !== null}
disabled={genreId !== null}
hideControls={false}
label={t('filter.toYear', { postProcess: 'sentenceCase' })}
max={5000}
@@ -173,7 +173,7 @@ export const SubsonicAlbumFilters = ({
<Select
clearable
data={genreList}
defaultValue={genres ?? undefined}
defaultValue={genreId ?? undefined}
disabled={Boolean(minYear || maxYear)}
label={t('entity.genre', { count: 1, postProcess: 'titleCase' })}
onChange={handleGenresFilter}