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

@ -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}