Show total page in reader desktop page select

Example:
- 10 total pages
- 4 is current page

select shows: 4 / 10
This commit is contained in:
schroda
2026-07-15 14:19:32 +02:00
parent 2c4c1dabe0
commit d2304e6880

View File

@@ -20,6 +20,7 @@ import { READING_DIRECTION_TO_THEME_DIRECTION } from '@/features/reader/settings
import { useReaderPagesStore, useReaderSettingsStore } from '@/features/reader/stores/ReaderStore.ts'; import { useReaderPagesStore, useReaderSettingsStore } from '@/features/reader/stores/ReaderStore.ts';
import { ReaderControls } from '@/features/reader/services/ReaderControls.ts'; import { ReaderControls } from '@/features/reader/services/ReaderControls.ts';
import { useTheme } from '@mui/material/styles'; import { useTheme } from '@mui/material/styles';
import { reverseString } from '@/base/utils/Strings.ts';
const BaseReaderNavBarDesktopPageNavigation = () => { const BaseReaderNavBarDesktopPageNavigation = () => {
const { t } = useLingui(); const { t } = useLingui();
@@ -49,6 +50,13 @@ const BaseReaderNavBarDesktopPageNavigation = () => {
labelId="reader-nav-bar-desktop-page-select" labelId="reader-nav-bar-desktop-page-select"
label={t`Page`} label={t`Page`}
value={getIndexOfPage(currentPage)} value={getIndexOfPage(currentPage)}
renderValue={(value) => {
const separator = ' / ';
const text = `${getPage(value, pages).name}${separator}${getIndexOfPage(pages.slice(-1)[0]) + 1}`;
return getOptionForDirection(text, reverseString(text, separator), direction);
}}
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) => (