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(
() => [
{
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' }),
onChange: (e: ChangeEvent<HTMLInputElement>) => {
@@ -135,7 +127,7 @@ export const NavidromeAlbumFilters = ({
value: query.isRecentlyPlayed,
},
],
[t, query.hasRating, query.isRecentlyPlayed, setHasRating, setRecentlyPlayed],
[t, query.isRecentlyPlayed, setRecentlyPlayed],
);
const handleYearFilter = useMemo(
@@ -309,6 +301,20 @@ export const NavidromeAlbumFilters = ({
w="100%"
/>
</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">
<Text size="sm" weight={500}>
{t('filter.isCompilation', { postProcess: 'sentenceCase' })}