From 48a82ad7117bd2237898ab45dd33feba8ff5dc56 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 10 Apr 2023 22:04:58 -0700 Subject: [PATCH] Fixed: Manual Import multiple episode selection Closes #5543 --- .../Episode/SelectEpisodeModalContent.tsx | 6 +++--- .../InteractiveImportModalContent.tsx | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/frontend/src/InteractiveImport/Episode/SelectEpisodeModalContent.tsx b/frontend/src/InteractiveImport/Episode/SelectEpisodeModalContent.tsx index b7d08b67c..fd9ef5f64 100644 --- a/frontend/src/InteractiveImport/Episode/SelectEpisodeModalContent.tsx +++ b/frontend/src/InteractiveImport/Episode/SelectEpisodeModalContent.tsx @@ -58,7 +58,7 @@ function episodesSelector() { } export interface SelectedEpisode { - fileId: number; + id: number; episodes: Episode[]; } @@ -163,7 +163,7 @@ function SelectEpisodeModalContent(props: SelectEpisodeModalContentProps) { return a.seasonNumber - b.seasonNumber; }); - const mappedEpisodes = selectedIds.map((fileId, index): SelectedEpisode => { + const mappedEpisodes = selectedIds.map((id, index): SelectedEpisode => { const startingIndex = index * episodesPerFile; const episodes = sortedEpisodes.slice( startingIndex, @@ -171,7 +171,7 @@ function SelectEpisodeModalContent(props: SelectEpisodeModalContentProps) { ); return { - fileId: fileId as number, + id: id as number, episodes, }; }); diff --git a/frontend/src/InteractiveImport/Interactive/InteractiveImportModalContent.tsx b/frontend/src/InteractiveImport/Interactive/InteractiveImportModalContent.tsx index 9af3bb328..bbcf735a3 100644 --- a/frontend/src/InteractiveImport/Interactive/InteractiveImportModalContent.tsx +++ b/frontend/src/InteractiveImport/Interactive/InteractiveImportModalContent.tsx @@ -51,6 +51,7 @@ import { reprocessInteractiveImportItems, setInteractiveImportMode, setInteractiveImportSort, + updateInteractiveImportItem, updateInteractiveImportItems, } from 'Store/Actions/interactiveImportActions'; import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector'; @@ -616,13 +617,17 @@ function InteractiveImportModalContent( ); const onEpisodesSelect = useCallback( - (episodes: SelectedEpisode[]) => { - dispatch( - updateInteractiveImportItems({ - ids: selectedIds, - episodes, - }) - ); + (selectedEpisodes: SelectedEpisode[]) => { + selectedEpisodes.forEach((selectedEpisode) => { + const { id, episodes } = selectedEpisode; + + dispatch( + updateInteractiveImportItem({ + id, + episodes, + }) + ); + }); dispatch(reprocessInteractiveImportItems({ ids: selectedIds }));