Add additional undefined check for custom filters
This commit is contained in:
parent
6d5e10a31c
commit
a9ca3f9083
3 changed files with 12 additions and 12 deletions
|
@ -386,16 +386,16 @@ export const AlbumListHeaderFilters = ({
|
||||||
const isFilterApplied = useMemo(() => {
|
const isFilterApplied = useMemo(() => {
|
||||||
const isNavidromeFilterApplied =
|
const isNavidromeFilterApplied =
|
||||||
server?.type === ServerType.NAVIDROME &&
|
server?.type === ServerType.NAVIDROME &&
|
||||||
filter?._custom.navidrome &&
|
filter?._custom?.navidrome &&
|
||||||
Object.values(filter._custom.navidrome).some((value) => value !== undefined);
|
Object.values(filter?._custom?.navidrome).some((value) => value !== undefined);
|
||||||
|
|
||||||
const isJellyfinFilterApplied =
|
const isJellyfinFilterApplied =
|
||||||
server?.type === ServerType.JELLYFIN &&
|
server?.type === ServerType.JELLYFIN &&
|
||||||
filter?._custom.jellyfin &&
|
filter?._custom?.jellyfin &&
|
||||||
Object.values(filter._custom.jellyfin).some((value) => value !== undefined);
|
Object.values(filter?._custom?.jellyfin).some((value) => value !== undefined);
|
||||||
|
|
||||||
return isNavidromeFilterApplied || isJellyfinFilterApplied;
|
return isNavidromeFilterApplied || isJellyfinFilterApplied;
|
||||||
}, [filter._custom.jellyfin, filter._custom.navidrome, server?.type]);
|
}, [filter?._custom?.jellyfin, filter?._custom?.navidrome, server?.type]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex justify="space-between">
|
<Flex justify="space-between">
|
||||||
|
|
|
@ -302,17 +302,17 @@ export const SongListHeaderFilters = ({
|
||||||
const isNavidromeFilterApplied =
|
const isNavidromeFilterApplied =
|
||||||
server?.type === ServerType.NAVIDROME &&
|
server?.type === ServerType.NAVIDROME &&
|
||||||
filter._custom?.navidrome &&
|
filter._custom?.navidrome &&
|
||||||
Object.values(filter._custom?.navidrome).some((value) => value !== undefined);
|
Object.values(filter?._custom?.navidrome).some((value) => value !== undefined);
|
||||||
|
|
||||||
const isJellyfinFilterApplied =
|
const isJellyfinFilterApplied =
|
||||||
server?.type === ServerType.JELLYFIN &&
|
server?.type === ServerType.JELLYFIN &&
|
||||||
filter._custom?.jellyfin &&
|
filter?._custom?.jellyfin &&
|
||||||
Object.values(filter._custom?.jellyfin)
|
Object.values(filter?._custom?.jellyfin)
|
||||||
.filter((value) => value !== 'Audio') // Don't account for includeItemTypes: Audio
|
.filter((value) => value !== 'Audio') // Don't account for includeItemTypes: Audio
|
||||||
.some((value) => value !== undefined);
|
.some((value) => value !== undefined);
|
||||||
|
|
||||||
return isNavidromeFilterApplied || isJellyfinFilterApplied;
|
return isNavidromeFilterApplied || isJellyfinFilterApplied;
|
||||||
}, [filter._custom?.jellyfin, filter._custom?.navidrome, server?.type]);
|
}, [filter?._custom?.jellyfin, filter?._custom?.navidrome, server?.type]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Flex justify="space-between">
|
<Flex justify="space-between">
|
||||||
|
|
|
@ -87,13 +87,13 @@ export const useListStore = create<ListSlice>()(
|
||||||
...state.item.song.filter,
|
...state.item.song.filter,
|
||||||
...state.detail[args.key]?.filter,
|
...state.detail[args.key]?.filter,
|
||||||
_custom: {
|
_custom: {
|
||||||
...state.detail[args.key]?.filter._custom,
|
...state.detail[args.key]?.filter?._custom,
|
||||||
jellyfin: {
|
jellyfin: {
|
||||||
...state.detail[args.key]?.filter._custom.jellyfin,
|
...state.detail[args.key]?.filter?._custom?.jellyfin,
|
||||||
includeItemTypes: 'Audio',
|
includeItemTypes: 'Audio',
|
||||||
},
|
},
|
||||||
navidrome: {
|
navidrome: {
|
||||||
...state.detail[args.key]?.filter._custom.navidrome,
|
...state.detail[args.key]?.filter?._custom?.navidrome,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
Reference in a new issue