From d60ed0c0558c4d9895ab681143f374959709c42f Mon Sep 17 00:00:00 2001 From: Alexandre Date: Sat, 3 Jun 2023 20:53:52 +0200 Subject: [PATCH] Add fit page to window reader setting (#323) * Add fit page to window reader setting * Renamed option and conditional rendering * Rename translation key --- src/components/navbar/ReaderNavBar.tsx | 1 + src/components/reader/Page.tsx | 1 + .../reader/ReaderSettingsOptions.tsx | 21 ++++++++++++++++++- src/i18n/locale/en.json | 3 ++- src/i18n/locale/es.json | 3 ++- .../settings/DefaultReaderSettings.tsx | 1 + src/typings.ts | 1 + src/util/readerSettings.ts | 2 ++ 8 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/components/navbar/ReaderNavBar.tsx b/src/components/navbar/ReaderNavBar.tsx index 06cc8c2d..e8df9572 100644 --- a/src/components/navbar/ReaderNavBar.tsx +++ b/src/components/navbar/ReaderNavBar.tsx @@ -261,6 +261,7 @@ export default function ReaderNavBar(props: IProps) { showPageNumber={settings.showPageNumber} loadNextOnEnding={settings.loadNextOnEnding} skipDupChapters={settings.skipDupChapters} + fitPageToWindow={settings.fitPageToWindow} readerType={settings.readerType} /> diff --git a/src/components/reader/Page.tsx b/src/components/reader/Page.tsx index bede75ad..84c0dae6 100644 --- a/src/components/reader/Page.tsx +++ b/src/components/reader/Page.tsx @@ -30,6 +30,7 @@ function imageStyle(settings: IReaderSettings): any { }; }, []); if ( + settings.fitPageToWindow || settings.readerType === 'DoubleLTR' || settings.readerType === 'DoubleRTL' || settings.readerType === 'ContinuesHorizontalLTR' || diff --git a/src/components/reader/ReaderSettingsOptions.tsx b/src/components/reader/ReaderSettingsOptions.tsx index 6133938e..c17eaaed 100644 --- a/src/components/reader/ReaderSettingsOptions.tsx +++ b/src/components/reader/ReaderSettingsOptions.tsx @@ -25,9 +25,16 @@ export default function ReaderSettingsOptions({ showPageNumber, skipDupChapters, setSettingValue, + fitPageToWindow, }: IProps) { const { t } = useTranslation(); - + const fitPageToWindowEligible = [ + 'ContinuesVertical', + 'Webtoon', + 'SingleVertical', + 'SingleRTL', + 'SingleLTR', + ].includes(readerType); return ( @@ -70,6 +77,18 @@ export default function ReaderSettingsOptions({ /> + {fitPageToWindowEligible ? ( + + + + setSettingValue('fitPageToWindow', e.target.checked)} + /> + + + ) : null}