From 53cfe16b044284e866dd8ff55fb4ee48106ab073 Mon Sep 17 00:00:00 2001 From: neon <18559658+neonsolstice@users.noreply.github.com> Date: Mon, 31 Aug 2026 23:04:55 +0000 Subject: [PATCH] feat(reader): add epub paragraph spacing Preserve publisher spacing at the minimum while allowing synchronized format defaults and per-book overrides. Closes #1206 --- client/src/features/reader/ReaderView.vue | 2 + .../epub/components/ReaderSettingsPanel.vue | 37 +++++++++++++- .../__tests__/ReaderSettingsPanel.spec.ts | 14 ++++++ .../__tests__/useReaderState.spec.ts | 22 +++++++++ .../reader/epub/composables/useReaderState.ts | 41 +++++++++++++++- .../composables/useReaderSettings.test.ts | 33 +++++++++++++ .../shared/composables/useReaderSettings.ts | 5 ++ .../src/features/settings/EbookSettings.vue | 48 ++++++++++++++++++- .../settings/__tests__/EbookSettings.spec.ts | 13 +++++ client/src/locales/en.json | 7 +++ packages/types/src/reader-settings.ts | 4 ++ .../reader-preferences.service.test.ts | 23 +++++++++ .../reader-preferences.service.ts | 3 ++ 13 files changed, 247 insertions(+), 5 deletions(-) diff --git a/client/src/features/reader/ReaderView.vue b/client/src/features/reader/ReaderView.vue index 5501e7bee..001d40766 100644 --- a/client/src/features/reader/ReaderView.vue +++ b/client/src/features/reader/ReaderView.vue @@ -82,6 +82,7 @@ const { applyToRenderer, setFontSize, setLineHeight, + setParagraphSpacing, setFontFamily, setFontWeight, setFontStyle, @@ -342,6 +343,7 @@ onMounted(async () => { const epubSetters: Record void> = { fontSize: (v) => setFontSize(v as number), lineHeight: (v) => setLineHeight(v as number), + paragraphSpacing: (v) => setParagraphSpacing(v as number), fontFamily: (v) => setFontFamily(v as string | null), fontWeight: (v) => setFontWeight(v as number), fontStyle: (v) => setFontStyle(v as EpubReaderSettings['fontStyle']), diff --git a/client/src/features/reader/epub/components/ReaderSettingsPanel.vue b/client/src/features/reader/epub/components/ReaderSettingsPanel.vue index 08d4a5265..70937c268 100644 --- a/client/src/features/reader/epub/components/ReaderSettingsPanel.vue +++ b/client/src/features/reader/epub/components/ReaderSettingsPanel.vue @@ -1,7 +1,15 @@