Prevent TypeError and incorrect state updates for "pageLoadStates"

Page load state updates of an already closed chapter caused TypeErrors or incorrect state updates.
This commit is contained in:
schroda
2024-12-30 20:51:29 +01:00
parent 55dc9471d9
commit 7c98bab43b
9 changed files with 59 additions and 21 deletions

View File

@@ -203,7 +203,7 @@ const BaseReader = ({
setTotalPages(0);
setPages([createPageData('', 0)]);
setPageUrls([]);
setPageLoadStates([{ loaded: false }]);
setPageLoadStates([{ url: '', loaded: false }]);
setIsOverlayVisible(false);
@@ -224,11 +224,13 @@ const BaseReader = ({
newPages.length - 1,
);
const newPageData = createPagesData(newPages);
setArePagesFetched(true);
setTotalPages(pagesPayload.chapter.pageCount);
setPages(createPagesData(newPages));
setPages(newPageData);
setPageUrls(newPages);
setPageLoadStates(newPages.map(() => ({ loaded: false })));
setPageLoadStates(newPageData.map(({ primary: { url } }) => ({ url, loaded: false })));
setCurrentPageIndex(initialReaderPageIndex);
setPageToScrollToIndex(initialReaderPageIndex);
} else {
@@ -238,7 +240,7 @@ const BaseReader = ({
setTotalPages(0);
setPages([createPageData('', 0)]);
setPageUrls([]);
setPageLoadStates([{ loaded: false }]);
setPageLoadStates([{ url: '', loaded: false }]);
}
setTransitionPageMode(ReaderTransitionPageMode.NONE);