diff --git a/src/modules/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx b/src/modules/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx index 08278967..121ed1ea 100644 --- a/src/modules/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx +++ b/src/modules/reader/components/overlay/navigation/desktop/ReaderNavBarDesktopPageNavigation.tsx @@ -43,7 +43,7 @@ export const ReaderNavBarDesktopPageNavigation = ({ currentPage.primary.index === pages.slice(-1)[0].primary.index, direction, )} - onClick={() => openPage('previous')} + onClick={() => openPage('previous', undefined, false)} /> {t('reader.page_info.label.page')} @@ -51,7 +51,7 @@ export const ReaderNavBarDesktopPageNavigation = ({ labelId="reader-nav-bar-desktop-page-select" label={t('reader.page_info.label.page')} value={getNextIndexFromPage(currentPage)} - onChange={(e) => openPage(e.target.value as number)} + onChange={(e) => openPage(e.target.value as number, undefined, false)} > {pages.map((page) => ( @@ -68,7 +68,7 @@ export const ReaderNavBarDesktopPageNavigation = ({ !currentPageIndex, direction, )} - onClick={() => openPage('next')} + onClick={() => openPage('next', undefined, false)} /> ); diff --git a/src/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx b/src/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx index 53a0d31f..de36ce1f 100644 --- a/src/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx +++ b/src/modules/reader/components/overlay/progress-bar/ReaderProgressBar.tsx @@ -102,7 +102,7 @@ export const ReaderProgressBar = ({ ? (slotProps?.progressBarPageTexts?.current?.sx ?? []) : [slotProps?.progressBarPageTexts?.current?.sx]), ]} - onClick={() => openPage('previous', 'ltr')} + onClick={() => openPage('previous', 'ltr', false)} > {currentPage.name} @@ -126,6 +126,8 @@ export const ReaderProgressBar = ({ getOptionForDirection, ), ), + undefined, + false, ); setIsDragging(true); }} @@ -145,6 +147,8 @@ export const ReaderProgressBar = ({ getOptionForDirection, ), ), + undefined, + false, ); setIsDragging(true); }} @@ -200,7 +204,7 @@ export const ReaderProgressBar = ({ ? (slotProps?.progressBarPageTexts?.total?.sx ?? []) : [slotProps?.progressBarPageTexts?.total?.sx]), ]} - onClick={() => openPage('next', 'ltr')} + onClick={() => openPage('next', 'ltr', false)} > {totalPages} diff --git a/src/modules/reader/services/ReaderControls.ts b/src/modules/reader/services/ReaderControls.ts index afde8347..e4717487 100644 --- a/src/modules/reader/services/ReaderControls.ts +++ b/src/modules/reader/services/ReaderControls.ts @@ -237,7 +237,11 @@ export class ReaderControls { }); } - static useOpenPage(): (page: number | 'previous' | 'next', forceDirection?: Direction) => void { + static useOpenPage(): ( + page: number | 'previous' | 'next', + forceDirection?: Direction, + hideOverlay?: boolean, + ) => void { const { currentPageIndex, setPageToScrollToIndex, pages, transitionPageMode, setTransitionPageMode } = userReaderStatePagesContext(); const { previousChapter, nextChapter } = useReaderStateChaptersContext(); @@ -263,14 +267,16 @@ export class ReaderControls { const isContinuousReadingModeActive = isContinuousReadingMode(readingMode.value); return useCallback( - (page, forceDirection = direction) => { + (page, forceDirection = direction, hideOverlay: boolean = true) => { const convertedPage = getOptionForDirection( page, page === 'previous' ? 'next' : 'previous', forceDirection, ); - setIsOverlayVisible(false); + if (hideOverlay) { + setIsOverlayVisible(false); + } const shouldOpenPreviousChapter = isFirstPage && isATransitionPageVisible && convertedPage === 'previous' && !!previousChapter; diff --git a/src/modules/reader/utils/ReaderProgressBar.utils.tsx b/src/modules/reader/utils/ReaderProgressBar.utils.tsx index 22fb78a5..ae0358d3 100644 --- a/src/modules/reader/utils/ReaderProgressBar.utils.tsx +++ b/src/modules/reader/utils/ReaderProgressBar.utils.tsx @@ -125,7 +125,7 @@ export const useHandleProgressDragging = ( return; } - openPage(newPageIndex); + openPage(newPageIndex, undefined, false); }; const handleMouseMove = (e: MouseEvent) => {