diff --git a/src/client/components/ComicDetail/ComicDetail.tsx b/src/client/components/ComicDetail/ComicDetail.tsx index acab0a4..66076eb 100644 --- a/src/client/components/ComicDetail/ComicDetail.tsx +++ b/src/client/components/ComicDetail/ComicDetail.tsx @@ -66,7 +66,7 @@ export const ComicDetail = (data: ComicDetailProps): ReactElement => { ); const extractedComicBook = useSelector( - (state: RootState) => state.fileOps.extractedComicBookArchive, + (state: RootState) => state.fileOps.extractedComicBookArchive.reading, ); const { comicObjectId } = useParams<{ comicObjectId: string }>(); diff --git a/src/client/components/ComicDetail/Tabs/ArchiveOperations.tsx b/src/client/components/ComicDetail/Tabs/ArchiveOperations.tsx index 2cf39ba..839dcdc 100644 --- a/src/client/components/ComicDetail/Tabs/ArchiveOperations.tsx +++ b/src/client/components/ComicDetail/Tabs/ArchiveOperations.tsx @@ -14,7 +14,7 @@ export const ArchiveOperations = (props): ReactElement => { (state: RootState) => state.fileOps.comicBookExtractionInProgress, ); const extractedComicBookArchive = useSelector( - (state: RootState) => state.fileOps.extractedComicBookArchive, + (state: RootState) => state.fileOps.extractedComicBookArchive.analysis, ); const imageAnalysisResult = useSelector((state: RootState) => { diff --git a/src/client/reducers/fileops.reducer.ts b/src/client/reducers/fileops.reducer.ts index 3eb0b96..2b3596b 100644 --- a/src/client/reducers/fileops.reducer.ts +++ b/src/client/reducers/fileops.reducer.ts @@ -46,7 +46,10 @@ const initialState = { isComicVineMetadataImportInProgress: false, comicVineMetadataImportError: {}, rawImportError: {}, - extractedComicBookArchive: [], + extractedComicBookArchive: { + reading: [], + analysis: [], + }, recentComics: [], wantedComics: [], libraryComics: [], @@ -135,13 +138,7 @@ function fileOpsReducer(state = initialState, action) { comicBookExtractionInProgress: true, }; } - case IMS_COMIC_BOOK_ARCHIVE_EXTRACTION_SUCCESS: { - return { - ...state, - extractedComicBookArchive: action.extractedComicBookArchive, - comicBookExtractionInProgress: false, - }; - } + case LOCATION_CHANGE: { return { ...state, @@ -164,15 +161,32 @@ function fileOpsReducer(state = initialState, action) { case COMICBOOK_EXTRACTION_SUCCESS: { const comicBookPages: string[] = []; - map(action.result, (page) => { + map(action.result.files, (page) => { const pageFilePath = removeLeadingPeriod(page); const imagePath = encodeURI(`${LIBRARY_SERVICE_HOST}${pageFilePath}`); comicBookPages.push(imagePath); }); - return { - ...state, - extractedComicBookArchive: comicBookPages, - }; + + switch (action.result.purpose) { + case "reading": + return { + ...state, + extractedComicBookArchive: { + reading: comicBookPages + }, + comicBookExtractionInProgress: false, + }; + + case "analysis": + return { + ...state, + extractedComicBookArchive: { + analysis: comicBookPages + }, + comicBookExtractionInProgress: false, + }; + } + } case LS_QUEUE_DRAINED: { console.log("drained", action);