convert nd album rating filter to yes/no (#1775)

This commit is contained in:
jeffvli
2026-02-27 19:30:33 -08:00
parent cd96da9cd5
commit 5f65aebe63
@@ -118,14 +118,6 @@ export const NavidromeAlbumFilters = ({
const toggleFilters = useMemo( const toggleFilters = useMemo(
() => [ () => [
{
label: t('filter.isRated', { postProcess: 'sentenceCase' }),
onChange: (e: ChangeEvent<HTMLInputElement>) => {
const hasRating = e.currentTarget.checked ? true : undefined;
setHasRating(hasRating ?? null);
},
value: query.hasRating,
},
{ {
label: t('filter.isRecentlyPlayed', { postProcess: 'sentenceCase' }), label: t('filter.isRecentlyPlayed', { postProcess: 'sentenceCase' }),
onChange: (e: ChangeEvent<HTMLInputElement>) => { onChange: (e: ChangeEvent<HTMLInputElement>) => {
@@ -135,7 +127,7 @@ export const NavidromeAlbumFilters = ({
value: query.isRecentlyPlayed, value: query.isRecentlyPlayed,
}, },
], ],
[t, query.hasRating, query.isRecentlyPlayed, setHasRating, setRecentlyPlayed], [t, query.isRecentlyPlayed, setRecentlyPlayed],
); );
const handleYearFilter = useMemo( const handleYearFilter = useMemo(
@@ -309,6 +301,20 @@ export const NavidromeAlbumFilters = ({
w="100%" w="100%"
/> />
</Stack> </Stack>
<Stack gap="xs">
<Text size="sm" weight={500}>
{t('filter.isRated', { postProcess: 'sentenceCase' })}
</Text>
<SegmentedControl
data={segmentedControlData}
onChange={(value) => {
setHasRating(segmentValueToBoolean(value));
}}
size="sm"
value={booleanToSegmentValue(query.hasRating)}
w="100%"
/>
</Stack>
<Stack gap="xs"> <Stack gap="xs">
<Text size="sm" weight={500}> <Text size="sm" weight={500}>
{t('filter.isCompilation', { postProcess: 'sentenceCase' })} {t('filter.isCompilation', { postProcess: 'sentenceCase' })}