warn if a value in select no longer exists

This commit is contained in:
Kendall Garner 2025-05-18 10:59:45 -07:00
parent f068d6e4b8
commit cf74625bfc
No known key found for this signature in database
GPG key ID: 9355F387FE765C94
6 changed files with 93 additions and 11 deletions

View file

@ -1,6 +1,6 @@
import { ChangeEvent, useMemo, useState } from 'react';
import { Divider, Group, Stack } from '@mantine/core';
import { NumberInput, Switch, Text, Select, SpinnerIcon } from '/@/renderer/components';
import { NumberInput, Switch, Text, SpinnerIcon } from '/@/renderer/components';
import { AlbumListFilter, useListStoreActions, useListStoreByKey } from '/@/renderer/store';
import debounce from 'lodash/debounce';
import { useGenreList } from '/@/renderer/features/genres';
@ -14,6 +14,7 @@ import {
} from '/@/renderer/api/types';
import { useTranslation } from 'react-i18next';
import { useTagList } from '/@/renderer/features/tag/queries/use-tag-list';
import { SelectWithInvalidData } from '/@/renderer/components/select-with-invalid-data';
interface NavidromeAlbumFiltersProps {
customFilters?: Partial<AlbumListFilter>;
@ -251,7 +252,7 @@ export const NavidromeAlbumFilters = ({
min={0}
onChange={(e) => handleYearFilter(e)}
/>
<Select
<SelectWithInvalidData
clearable
searchable
data={genreList}
@ -261,7 +262,7 @@ export const NavidromeAlbumFilters = ({
/>
</Group>
<Group grow>
<Select
<SelectWithInvalidData
clearable
searchable
data={selectableAlbumArtists}
@ -281,7 +282,7 @@ export const NavidromeAlbumFilters = ({
key={tag.name}
grow
>
<Select
<SelectWithInvalidData
clearable
searchable
data={tag.options}

View file

@ -2,11 +2,12 @@ import { ChangeEvent, useMemo } from 'react';
import { Divider, Group, Stack } from '@mantine/core';
import debounce from 'lodash/debounce';
import { GenreListSort, LibraryItem, SongListQuery, SortOrder } from '/@/renderer/api/types';
import { MultiSelect, NumberInput, Switch, Text } from '/@/renderer/components';
import { NumberInput, Switch, Text } from '/@/renderer/components';
import { SongListFilter, useListFilterByKey, useListStoreActions } from '/@/renderer/store';
import { useTranslation } from 'react-i18next';
import { useTagList } from '/@/renderer/features/tag/queries/use-tag-list';
import { useGenreList } from '/@/renderer/features/genres';
import { MultiSelectWithInvalidData } from '/@/renderer/components/select-with-invalid-data';
interface JellyfinSongFiltersProps {
customFilters?: Partial<SongListFilter>;
@ -201,7 +202,7 @@ export const JellyfinSongFilters = ({
</Group>
{!isGenrePage && (
<Group grow>
<MultiSelect
<MultiSelectWithInvalidData
clearable
searchable
data={genreList}
@ -214,7 +215,7 @@ export const JellyfinSongFilters = ({
)}
{tagsQuery.data?.boolTags?.length && (
<Group grow>
<MultiSelect
<MultiSelectWithInvalidData
clearable
searchable
data={tagsQuery.data.boolTags}

View file

@ -2,11 +2,12 @@ import { ChangeEvent, useMemo } from 'react';
import { Divider, Group, Stack } from '@mantine/core';
import debounce from 'lodash/debounce';
import { GenreListSort, LibraryItem, SongListQuery, SortOrder } from '/@/renderer/api/types';
import { NumberInput, Select, Switch, Text } from '/@/renderer/components';
import { NumberInput, Switch, Text } from '/@/renderer/components';
import { useGenreList } from '/@/renderer/features/genres';
import { SongListFilter, useListFilterByKey, useListStoreActions } from '/@/renderer/store';
import { useTranslation } from 'react-i18next';
import { useTagList } from '/@/renderer/features/tag/queries/use-tag-list';
import { SelectWithInvalidData } from '/@/renderer/components/select-with-invalid-data';
interface NavidromeSongFiltersProps {
customFilters?: Partial<SongListFilter>;
@ -149,7 +150,7 @@ export const NavidromeSongFilters = ({
onChange={(e) => handleYearFilter(e)}
/>
{!isGenrePage && (
<Select
<SelectWithInvalidData
clearable
searchable
data={genreList}
@ -166,7 +167,7 @@ export const NavidromeSongFilters = ({
key={tag.name}
grow
>
<Select
<SelectWithInvalidData
clearable
searchable
data={tag.options}