Prevent hiding overlay on page change through overlay
This commit is contained in:
@@ -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)}
|
||||
/>
|
||||
<FormControl sx={{ flexBasis: '70%', flexGrow: 0, flexShrink: 0 }}>
|
||||
<InputLabel id="reader-nav-bar-desktop-page-select">{t('reader.page_info.label.page')}</InputLabel>
|
||||
@@ -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) => (
|
||||
<MenuItem key={getNextIndexFromPage(page)} value={getNextIndexFromPage(page)}>
|
||||
@@ -68,7 +68,7 @@ export const ReaderNavBarDesktopPageNavigation = ({
|
||||
!currentPageIndex,
|
||||
direction,
|
||||
)}
|
||||
onClick={() => openPage('next')}
|
||||
onClick={() => openPage('next', undefined, false)}
|
||||
/>
|
||||
</Stack>
|
||||
);
|
||||
|
||||
@@ -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}
|
||||
</ReaderProgressBarPageNumber>
|
||||
@@ -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}
|
||||
</ReaderProgressBarPageNumber>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -125,7 +125,7 @@ export const useHandleProgressDragging = (
|
||||
return;
|
||||
}
|
||||
|
||||
openPage(newPageIndex);
|
||||
openPage(newPageIndex, undefined, false);
|
||||
};
|
||||
|
||||
const handleMouseMove = (e: MouseEvent) => {
|
||||
|
||||
Reference in New Issue
Block a user