Prevent reader page preservation in none continuous modes

This commit is contained in:
schroda
2025-09-27 13:51:26 +02:00
parent ab1521fb81
commit 1c526b3feb
2 changed files with 10 additions and 8 deletions

View File

@@ -26,9 +26,11 @@ import { ReaderHorizontalPager } from '@/features/reader/viewer/pager/components
export const isOffsetDoubleSpreadPagesEditable = (readingMode: IReaderSettings['readingMode']): boolean => export const isOffsetDoubleSpreadPagesEditable = (readingMode: IReaderSettings['readingMode']): boolean =>
readingMode === ReadingMode.DOUBLE_PAGE; readingMode === ReadingMode.DOUBLE_PAGE;
export const isReaderWidthEditable = (pageScaleMode: IReaderSettings['pageScaleMode']): boolean => export const isReaderWidthEditable = (pageScaleMode: ReaderPageScaleMode): boolean =>
[ReaderPageScaleMode.WIDTH, ReaderPageScaleMode.SCREEN].includes(pageScaleMode); [ReaderPageScaleMode.WIDTH, ReaderPageScaleMode.SCREEN].includes(pageScaleMode);
export const isWidthPageScaleMode = (pageScaleMode: ReaderPageScaleMode) => isReaderWidthEditable(pageScaleMode);
export const isHeightPageScaleMode = (pageScaleMode: ReaderPageScaleMode): boolean => export const isHeightPageScaleMode = (pageScaleMode: ReaderPageScaleMode): boolean =>
[ReaderPageScaleMode.HEIGHT, ReaderPageScaleMode.SCREEN].includes(pageScaleMode); [ReaderPageScaleMode.HEIGHT, ReaderPageScaleMode.SCREEN].includes(pageScaleMode);

View File

@@ -19,7 +19,7 @@ import {
isContinuousReadingMode, isContinuousReadingMode,
isContinuousVerticalReadingMode, isContinuousVerticalReadingMode,
isHeightPageScaleMode, isHeightPageScaleMode,
isReaderWidthEditable, isWidthPageScaleMode,
} from '@/features/reader/settings/ReaderSettings.utils.tsx'; } from '@/features/reader/settings/ReaderSettings.utils.tsx';
import { getPreviousNextChapterVisibility } from '@/features/reader/Reader.utils.ts'; import { getPreviousNextChapterVisibility } from '@/features/reader/Reader.utils.ts';
import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts'; import { ChapterIdInfo, TChapterReader } from '@/features/chapter/Chapter.types.ts';
@@ -30,19 +30,19 @@ const shouldPreserveOnResizeChange = (
previousWidth: number, previousWidth: number,
previousHeight: number, previousHeight: number,
): boolean => { ): boolean => {
const isEditableReaderWidth = isReaderWidthEditable(pageScaleMode); if (!isContinuousReadingMode(readingMode)) {
return false;
}
const isWidthPageScaleModeActive = isWidthPageScaleMode(pageScaleMode);
const isHeightPageScaleModeActive = isHeightPageScaleMode(pageScaleMode); const isHeightPageScaleModeActive = isHeightPageScaleMode(pageScaleMode);
const didWidthChange = previousWidth !== window.innerWidth; const didWidthChange = previousWidth !== window.innerWidth;
const didHeightChange = previousHeight !== window.innerHeight; const didHeightChange = previousHeight !== window.innerHeight;
const handleWidthChange = isEditableReaderWidth && didWidthChange; const handleWidthChange = isWidthPageScaleModeActive && didWidthChange;
const handleHeightChange = isHeightPageScaleModeActive && didHeightChange; const handleHeightChange = isHeightPageScaleModeActive && didHeightChange;
if (!isContinuousVerticalReadingMode(readingMode) && didWidthChange) {
return true;
}
return handleWidthChange || handleHeightChange; return handleWidthChange || handleHeightChange;
}; };