Fixed: Improve filtering performance in Select Series Modal

This commit is contained in:
Bogdan 2024-07-25 02:38:45 +03:00
parent 80ca1a6ac2
commit 52f2656394
1 changed files with 14 additions and 9 deletions

View File

@ -163,16 +163,21 @@ function SelectSeriesModalContent(props: SelectSeriesModalContentProps) {
[allSeries, onSeriesSelect] [allSeries, onSeriesSelect]
); );
const items = useMemo(() => { const sortedSeries = useMemo(
const sorted = [...allSeries].sort(sortByProp('sortTitle')); () => [...allSeries].sort(sortByProp('sortTitle')),
[allSeries]
);
return sorted.filter( const items = useMemo(
() =>
sortedSeries.filter(
(item) => (item) =>
item.title.toLowerCase().includes(filter.toLowerCase()) || item.title.toLowerCase().includes(filter.toLowerCase()) ||
item.tvdbId.toString().includes(filter) || item.tvdbId.toString().includes(filter) ||
item.imdbId?.includes(filter) item.imdbId?.includes(filter)
),
[sortedSeries, filter]
); );
}, [allSeries, filter]);
return ( return (
<ModalContent onModalClose={onModalClose}> <ModalContent onModalClose={onModalClose}>