Rename "getNextIndexFromPage" to "getIndexOfPage"
This commit is contained in:
@@ -13,7 +13,7 @@ import FormControl from '@mui/material/FormControl';
|
|||||||
import InputLabel from '@mui/material/InputLabel';
|
import InputLabel from '@mui/material/InputLabel';
|
||||||
import { useLingui } from '@lingui/react/macro';
|
import { useLingui } from '@lingui/react/macro';
|
||||||
import { Select } from '@/base/components/inputs/Select.tsx';
|
import { Select } from '@/base/components/inputs/Select.tsx';
|
||||||
import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
import { getIndexOfPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
||||||
import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts';
|
import { useGetOptionForDirection } from '@/features/theme/services/ThemeCreator.ts';
|
||||||
import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx';
|
import { ReaderNavBarDesktopNextPreviousButton } from '@/features/reader/overlay/navigation/desktop/components/ReaderNavBarDesktopNextPreviousButton.tsx';
|
||||||
import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx';
|
import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings/ReaderSettings.constants.tsx';
|
||||||
@@ -39,7 +39,7 @@ const BaseReaderNavBarDesktopPageNavigation = () => {
|
|||||||
title={getOptionForDirection(t`Previous page`, t`Next page`, direction)}
|
title={getOptionForDirection(t`Previous page`, t`Next page`, direction)}
|
||||||
disabled={getOptionForDirection(
|
disabled={getOptionForDirection(
|
||||||
!currentPage.primary.index,
|
!currentPage.primary.index,
|
||||||
getNextIndexFromPage(currentPage) === getNextIndexFromPage(pages.slice(-1)[0]),
|
getIndexOfPage(currentPage) === getIndexOfPage(pages.slice(-1)[0]),
|
||||||
direction,
|
direction,
|
||||||
)}
|
)}
|
||||||
onClick={() => ReaderControls.openPage('previous', undefined, false)}
|
onClick={() => ReaderControls.openPage('previous', undefined, false)}
|
||||||
@@ -49,11 +49,11 @@ const BaseReaderNavBarDesktopPageNavigation = () => {
|
|||||||
<Select
|
<Select
|
||||||
labelId="reader-nav-bar-desktop-page-select"
|
labelId="reader-nav-bar-desktop-page-select"
|
||||||
label={t`Page`}
|
label={t`Page`}
|
||||||
value={getNextIndexFromPage(currentPage)}
|
value={getIndexOfPage(currentPage)}
|
||||||
onChange={(e) => ReaderControls.openPage(e.target.value as number, undefined, false)}
|
onChange={(e) => ReaderControls.openPage(e.target.value as number, undefined, false)}
|
||||||
>
|
>
|
||||||
{pages.map((page) => (
|
{pages.map((page) => (
|
||||||
<MenuItem key={getNextIndexFromPage(page)} value={getNextIndexFromPage(page)}>
|
<MenuItem key={getIndexOfPage(page)} value={getIndexOfPage(page)}>
|
||||||
{page.name}
|
{page.name}
|
||||||
</MenuItem>
|
</MenuItem>
|
||||||
))}
|
))}
|
||||||
@@ -63,7 +63,7 @@ const BaseReaderNavBarDesktopPageNavigation = () => {
|
|||||||
type="next"
|
type="next"
|
||||||
title={getOptionForDirection(t`Next page`, t`Previous page`, direction)}
|
title={getOptionForDirection(t`Next page`, t`Previous page`, direction)}
|
||||||
disabled={getOptionForDirection(
|
disabled={getOptionForDirection(
|
||||||
getNextIndexFromPage(currentPage) === getNextIndexFromPage(pages.slice(-1)[0]),
|
getIndexOfPage(currentPage) === getIndexOfPage(pages.slice(-1)[0]),
|
||||||
!currentPage.primary.index,
|
!currentPage.primary.index,
|
||||||
direction,
|
direction,
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ import { ReaderProgressBarSlotsContainer } from '@/features/reader/overlay/progr
|
|||||||
import { ProgressBarHighlightReadPages } from '@/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx';
|
import { ProgressBarHighlightReadPages } from '@/features/reader/overlay/progress-bar/components/ProgressBarHighlightReadPages.tsx';
|
||||||
import { ReaderProgressBarCurrentPageSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx';
|
import { ReaderProgressBarCurrentPageSlot } from '@/features/reader/overlay/progress-bar/components/ReaderProgressBarCurrentPageSlot.tsx';
|
||||||
import {
|
import {
|
||||||
getNextIndexFromPage,
|
getIndexOfPage,
|
||||||
getPage,
|
getPage,
|
||||||
getPageForMousePos,
|
getPageForMousePos,
|
||||||
getProgressBarPositionInfo,
|
getProgressBarPositionInfo,
|
||||||
@@ -132,7 +132,7 @@ const BaseReaderProgressBar = ({
|
|||||||
const isTouchEvent = 'touches' in e;
|
const isTouchEvent = 'touches' in e;
|
||||||
|
|
||||||
ReaderControls.openPage(
|
ReaderControls.openPage(
|
||||||
getNextIndexFromPage(
|
getIndexOfPage(
|
||||||
getPageForMousePos(
|
getPageForMousePos(
|
||||||
isTouchEvent ? e.touches[0] : e,
|
isTouchEvent ? e.touches[0] : e,
|
||||||
progressBarRef.current,
|
progressBarRef.current,
|
||||||
|
|||||||
@@ -27,8 +27,7 @@ export const getPage = (pageIndex: number, pages: ReaderStatePages['pages']): TR
|
|||||||
* for the double page mode the secondary page index has to be used to be able to correctly detect if the last page is visible
|
* for the double page mode the secondary page index has to be used to be able to correctly detect if the last page is visible
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
export const getNextIndexFromPage = (page: ReaderStatePages['pages'][number]) =>
|
export const getIndexOfPage = (page: ReaderStatePages['pages'][number]) => page.secondary?.index ?? page.primary.index;
|
||||||
page.secondary?.index ?? page.primary.index;
|
|
||||||
|
|
||||||
export const getNextPageIndex = (
|
export const getNextPageIndex = (
|
||||||
offset: 'previous' | 'next',
|
offset: 'previous' | 'next',
|
||||||
@@ -37,7 +36,7 @@ export const getNextPageIndex = (
|
|||||||
): number => {
|
): number => {
|
||||||
const offsetNumber = offset === 'previous' ? DirectionOffset.PREVIOUS : DirectionOffset.NEXT;
|
const offsetNumber = offset === 'previous' ? DirectionOffset.PREVIOUS : DirectionOffset.NEXT;
|
||||||
|
|
||||||
return getNextIndexFromPage(pages[coerceIn(pagesIndex + offsetNumber, 0, pages.length - 1)]);
|
return getIndexOfPage(pages[coerceIn(pagesIndex + offsetNumber, 0, pages.length - 1)]);
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getPageForMousePos = (
|
export const getPageForMousePos = (
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import { Direction } from '@mui/material/styles';
|
|||||||
import { d } from 'koration';
|
import { d } from 'koration';
|
||||||
import { msg, t } from '@lingui/core/macro';
|
import { msg, t } from '@lingui/core/macro';
|
||||||
import {
|
import {
|
||||||
getNextIndexFromPage,
|
getIndexOfPage,
|
||||||
getNextPageIndex,
|
getNextPageIndex,
|
||||||
getPage,
|
getPage,
|
||||||
getPageForMousePos,
|
getPageForMousePos,
|
||||||
@@ -343,8 +343,8 @@ export class ReaderControls {
|
|||||||
const currentPage = getPage(currentPageIndex, pages);
|
const currentPage = getPage(currentPageIndex, pages);
|
||||||
const previousPageIndex = getNextPageIndex('previous', currentPage.pagesIndex, pages);
|
const previousPageIndex = getNextPageIndex('previous', currentPage.pagesIndex, pages);
|
||||||
const nextPageIndex = getNextPageIndex('next', currentPage.pagesIndex, pages);
|
const nextPageIndex = getNextPageIndex('next', currentPage.pagesIndex, pages);
|
||||||
const indexOfFirstPage = getNextIndexFromPage(pages[0]);
|
const indexOfFirstPage = getIndexOfPage(pages[0]);
|
||||||
const indexOfLastPage = getNextIndexFromPage(pages[pages.length - 1]);
|
const indexOfLastPage = getIndexOfPage(pages[pages.length - 1]);
|
||||||
|
|
||||||
const isFirstPage = currentPage.primary.index === 0;
|
const isFirstPage = currentPage.primary.index === 0;
|
||||||
const isLastPage = currentPageIndex === indexOfLastPage;
|
const isLastPage = currentPageIndex === indexOfLastPage;
|
||||||
@@ -614,7 +614,7 @@ export class ReaderControls {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const newPageIndex = getNextIndexFromPage(
|
const newPageIndex = getIndexOfPage(
|
||||||
getPageForMousePos(
|
getPageForMousePos(
|
||||||
coordinates,
|
coordinates,
|
||||||
progressBarRef.current,
|
progressBarRef.current,
|
||||||
@@ -625,7 +625,7 @@ export class ReaderControls {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
|
|
||||||
const hasCurrentPageIndexChanged = getNextIndexFromPage(currentPage) !== newPageIndex;
|
const hasCurrentPageIndexChanged = getIndexOfPage(currentPage) !== newPageIndex;
|
||||||
if (!hasCurrentPageIndexChanged) {
|
if (!hasCurrentPageIndexChanged) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
|
|
||||||
import { useLayoutEffect, useState } from 'react';
|
import { useLayoutEffect, useState } from 'react';
|
||||||
import { ReaderPageSpreadState, ReaderStatePages, ReadingMode } from '@/features/reader/Reader.types.ts';
|
import { ReaderPageSpreadState, ReaderStatePages, ReadingMode } from '@/features/reader/Reader.types.ts';
|
||||||
import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
import { getIndexOfPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
||||||
import { createPagesData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
import { createPagesData } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
||||||
import { ReaderControls } from '@/features/reader/services/ReaderControls.ts';
|
import { ReaderControls } from '@/features/reader/services/ReaderControls.ts';
|
||||||
|
|
||||||
@@ -37,7 +37,7 @@ export const useReaderConvertPagesForReadingMode = (
|
|||||||
const convertPagesToDoublePageMode = readingMode === ReadingMode.DOUBLE_PAGE;
|
const convertPagesToDoublePageMode = readingMode === ReadingMode.DOUBLE_PAGE;
|
||||||
if (convertPagesToDoublePageMode) {
|
if (convertPagesToDoublePageMode) {
|
||||||
if (!wasDoublePageMode) {
|
if (!wasDoublePageMode) {
|
||||||
updateCurrentPageIndex(getNextIndexFromPage(getPage(currentPageIndex, actualPages)));
|
updateCurrentPageIndex(getIndexOfPage(getPage(currentPageIndex, actualPages)));
|
||||||
}
|
}
|
||||||
setPages(actualPages);
|
setPages(actualPages);
|
||||||
setWasDoublePageMode(readingMode === ReadingMode.DOUBLE_PAGE);
|
setWasDoublePageMode(readingMode === ReadingMode.DOUBLE_PAGE);
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
import { MutableRefObject, useLayoutEffect } from 'react';
|
import { MutableRefObject, useLayoutEffect } from 'react';
|
||||||
import { Direction } from '@mui/material/styles';
|
import { Direction } from '@mui/material/styles';
|
||||||
import { ReaderStatePages, ReadingDirection } from '@/features/reader/Reader.types.ts';
|
import { ReaderStatePages, ReadingDirection } from '@/features/reader/Reader.types.ts';
|
||||||
import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
import { getIndexOfPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
||||||
import { getScrollIntoViewInlineOption } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
import { getScrollIntoViewInlineOption } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
||||||
import { ReaderControls } from '@/features/reader/services/ReaderControls.ts';
|
import { ReaderControls } from '@/features/reader/services/ReaderControls.ts';
|
||||||
|
|
||||||
@@ -40,7 +40,7 @@ export const useReaderHandlePageSelection = (
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
const newPageIndex = getNextIndexFromPage(pageToScrollTo);
|
const newPageIndex = getIndexOfPage(pageToScrollTo);
|
||||||
const isLastPage = newPageIndex === totalPages - 1;
|
const isLastPage = newPageIndex === totalPages - 1;
|
||||||
|
|
||||||
setPageToScrollToIndex(null);
|
setPageToScrollToIndex(null);
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ import {
|
|||||||
} from '@/features/reader/Reader.types.ts';
|
} from '@/features/reader/Reader.types.ts';
|
||||||
import { applyStyles } from '@/base/utils/ApplyStyles.ts';
|
import { applyStyles } from '@/base/utils/ApplyStyles.ts';
|
||||||
import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
import { createReaderPage } from '@/features/reader/viewer/pager/ReaderPager.utils.tsx';
|
||||||
import { getNextIndexFromPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
import { getIndexOfPage, getPage } from '@/features/reader/overlay/progress-bar/ReaderProgressBar.utils.tsx';
|
||||||
|
|
||||||
const getPagePosition = (
|
const getPagePosition = (
|
||||||
pageType: 'first' | 'second',
|
pageType: 'first' | 'second',
|
||||||
@@ -62,7 +62,7 @@ const BaseReaderDoublePagedPager = ({
|
|||||||
createPage={(page, pagesIndex, shouldLoad, shouldDisplay, _setRef, ...baseProps) => {
|
createPage={(page, pagesIndex, shouldLoad, shouldDisplay, _setRef, ...baseProps) => {
|
||||||
const { primary, secondary } = page;
|
const { primary, secondary } = page;
|
||||||
|
|
||||||
const currentSecondaryPageIndex = getNextIndexFromPage(currentPage);
|
const currentSecondaryPageIndex = getIndexOfPage(currentPage);
|
||||||
|
|
||||||
const hasSecondaryPage = !!secondary;
|
const hasSecondaryPage = !!secondary;
|
||||||
const isPrimaryPage = currentPage.primary.index === primary.index;
|
const isPrimaryPage = currentPage.primary.index === primary.index;
|
||||||
|
|||||||
Reference in New Issue
Block a user