From 3155c1d602e1ec715f956fc0af2cd1c3361c0f8a Mon Sep 17 00:00:00 2001
From: Robert Perez <39390006+rickymcmuffin@users.noreply.github.com>
Date: Wed, 27 Sep 2023 18:36:47 -0400
Subject: [PATCH] Add option to offset first page in double page reader (#418)
* added toggle for doublespreads
* changing pages works as intended
* undid package.json changes
* deleted packege lock json
* curPage changes when changing invertDoublePage
* changed yarn.lock
* it switches better now
* fixed formatting
* changed it to offset first page
* fixed flipping when switching
* offset first page hides when double page is not enabled
* removed uncreachable line
---
src/components/navbar/ReaderNavBar.tsx | 1 +
.../reader/ReaderSettingsOptions.tsx | 13 ++++++++++++
.../reader/pager/DoublePagedPager.tsx | 20 ++++++++++++++-----
src/i18n/locale/en.json | 5 +++--
.../settings/DefaultReaderSettings.tsx | 1 +
src/typings.ts | 1 +
src/util/readerSettings.ts | 2 ++
7 files changed, 36 insertions(+), 7 deletions(-)
diff --git a/src/components/navbar/ReaderNavBar.tsx b/src/components/navbar/ReaderNavBar.tsx
index d1423d4dde..fba208aacd 100644
--- a/src/components/navbar/ReaderNavBar.tsx
+++ b/src/components/navbar/ReaderNavBar.tsx
@@ -267,6 +267,7 @@ export default function ReaderNavBar(props: IProps) {
skipDupChapters={settings.skipDupChapters}
fitPageToWindow={settings.fitPageToWindow}
readerType={settings.readerType}
+ offsetFirstPage={settings.offsetFirstPage}
/>
diff --git a/src/components/reader/ReaderSettingsOptions.tsx b/src/components/reader/ReaderSettingsOptions.tsx
index 0af242f9c8..c04bae0f7a 100644
--- a/src/components/reader/ReaderSettingsOptions.tsx
+++ b/src/components/reader/ReaderSettingsOptions.tsx
@@ -25,6 +25,7 @@ export default function ReaderSettingsOptions({
skipDupChapters,
setSettingValue,
fitPageToWindow,
+ offsetFirstPage,
}: IProps) {
const { t } = useTranslation();
const fitPageToWindowEligible = [
@@ -88,6 +89,18 @@ export default function ReaderSettingsOptions({
) : null}
+ {readerType === 'DoubleLTR' || readerType === 'DoubleRTL' ? (
+
+
+
+ setSettingValue('offsetFirstPage', e.target.checked)}
+ />
+
+
+ ) : null}