From 50538bfabab363add2cb26edfe745a2d9c060b8a Mon Sep 17 00:00:00 2001 From: Richard Roberson Date: Tue, 18 Nov 2025 12:31:07 -0700 Subject: [PATCH] feat(epub): Add EPUB text highlighting for the current TTS sentence with a new configuration option --- .github/workflows/playwright.yml | 2 +- src/components/DocumentSettings.tsx | 19 +++++- src/components/EPUBViewer.tsx | 33 ++++++---- src/contexts/ConfigContext.tsx | 11 ++-- src/contexts/EPUBContext.tsx | 99 +++++++++++++++++++++++++---- src/types/config.ts | 2 + 6 files changed, 136 insertions(+), 30 deletions(-) diff --git a/.github/workflows/playwright.yml b/.github/workflows/playwright.yml index 3ae9bcf..94d2033 100644 --- a/.github/workflows/playwright.yml +++ b/.github/workflows/playwright.yml @@ -1,7 +1,7 @@ name: Playwright Tests on: push: - branches: [ main, master, version1.0.0 ] + branches: [ main, master, 'v*.*.*' ] pull_request: branches: [ main, master ] jobs: diff --git a/src/components/DocumentSettings.tsx b/src/components/DocumentSettings.tsx index b41b15c..b216730 100644 --- a/src/components/DocumentSettings.tsx +++ b/src/components/DocumentSettings.tsx @@ -34,6 +34,7 @@ export function DocumentSettings({ isOpen, setIsOpen, epub, html }: { rightMargin, updateConfigKey, pdfHighlightEnabled, + epubHighlightEnabled, } = useConfig(); const { createFullAudioBook: createEPUBAudioBook, regenerateChapter: regenerateEPUBChapter } = useEPUB(); const { createFullAudioBook: createPDFAudioBook, regenerateChapter: regeneratePDFChapter } = usePDF(); @@ -110,7 +111,7 @@ export function DocumentSettings({ isOpen, setIsOpen, epub, html }: { onGenerateAudiobook={handleGenerateAudiobook} onRegenerateChapter={handleRegenerateChapter} /> - + setIsOpen(false)}> )} + {epub && ( +
+ +

+ Show visual highlighting in the EPUB viewer while TTS is reading. +

+
+ )} {epub && (