Prevent reader page preservation in none continuous modes
This commit is contained in:
@@ -26,9 +26,11 @@ import { ReaderHorizontalPager } from '@/features/reader/viewer/pager/components
|
||||
export const isOffsetDoubleSpreadPagesEditable = (readingMode: IReaderSettings['readingMode']): boolean =>
|
||||
readingMode === ReadingMode.DOUBLE_PAGE;
|
||||
|
||||
export const isReaderWidthEditable = (pageScaleMode: IReaderSettings['pageScaleMode']): boolean =>
|
||||
export const isReaderWidthEditable = (pageScaleMode: ReaderPageScaleMode): boolean =>
|
||||
[ReaderPageScaleMode.WIDTH, ReaderPageScaleMode.SCREEN].includes(pageScaleMode);
|
||||
|
||||
export const isWidthPageScaleMode = (pageScaleMode: ReaderPageScaleMode) => isReaderWidthEditable(pageScaleMode);
|
||||
|
||||
export const isHeightPageScaleMode = (pageScaleMode: ReaderPageScaleMode): boolean =>
|
||||
[ReaderPageScaleMode.HEIGHT, ReaderPageScaleMode.SCREEN].includes(pageScaleMode);
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
isContinuousReadingMode,
|
||||
isContinuousVerticalReadingMode,
|
||||
isHeightPageScaleMode,
|
||||
isReaderWidthEditable,
|
||||
isWidthPageScaleMode,
|
||||
} from '@/features/reader/settings/ReaderSettings.utils.tsx';
|
||||
import { getPreviousNextChapterVisibility } from '@/features/reader/Reader.utils.ts';
|
||||
import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts';
|
||||
@@ -30,19 +30,19 @@ const shouldPreserveOnResizeChange = (
|
||||
previousWidth: number,
|
||||
previousHeight: number,
|
||||
): boolean => {
|
||||
const isEditableReaderWidth = isReaderWidthEditable(pageScaleMode);
|
||||
if (!isContinuousReadingMode(readingMode)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const isWidthPageScaleModeActive = isWidthPageScaleMode(pageScaleMode);
|
||||
const isHeightPageScaleModeActive = isHeightPageScaleMode(pageScaleMode);
|
||||
|
||||
const didWidthChange = previousWidth !== window.innerWidth;
|
||||
const didHeightChange = previousHeight !== window.innerHeight;
|
||||
|
||||
const handleWidthChange = isEditableReaderWidth && didWidthChange;
|
||||
const handleWidthChange = isWidthPageScaleModeActive && didWidthChange;
|
||||
const handleHeightChange = isHeightPageScaleModeActive && didHeightChange;
|
||||
|
||||
if (!isContinuousVerticalReadingMode(readingMode) && didWidthChange) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return handleWidthChange || handleHeightChange;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user