diff --git a/web/src/reader/ebook/copy-handler.ts b/web/src/reader/ebook/copy-handler.ts index f5fb9e8..c346cc5 100644 --- a/web/src/reader/ebook/copy-handler.ts +++ b/web/src/reader/ebook/copy-handler.ts @@ -3,6 +3,8 @@ // Handle text copying with citation // Procedural implementation (no OOP) +import { showToast } from "../../toast"; + async function copySelection(mediaItem: MediaItemSummary): Promise { const selection = window.getSelection(); if (!selection || selection.rangeCount === 0) return false; @@ -45,3 +47,5 @@ function enableContextMenuCopy(mediaItem: MediaItemSummary): void { } }); } + +export { enableContextMenuCopy, copySelection }; diff --git a/web/src/reader/ebook/typography-engine.ts b/web/src/reader/ebook/typography-engine.ts index 10090d7..76c7516 100644 --- a/web/src/reader/ebook/typography-engine.ts +++ b/web/src/reader/ebook/typography-engine.ts @@ -115,3 +115,5 @@ function getWordCount(container: HTMLElement): number { const text = content.textContent || ""; return text.split(/\s+/).length; } + +export { applyTypography, getFontStack }; diff --git a/web/src/reader/ebook/view-modes.ts b/web/src/reader/ebook/view-modes.ts index 32c33f9..ff7c75b 100644 --- a/web/src/reader/ebook/view-modes.ts +++ b/web/src/reader/ebook/view-modes.ts @@ -2,11 +2,6 @@ type ViewMode = "paginated" | "scrolled" | "single-column" | "double-column"; -// Different viewing modes for ebooks -// Procedural implementation (no OOP) - -type ViewMode = "paginated" | "scrolled" | "single-column" | "double-column"; - interface ViewModeState { currentMode: ViewMode; currentPage: number; @@ -156,3 +151,5 @@ function getTotalPageCount(container: HTMLElement): number { return Math.ceil(totalHeight / pageHeight); } + +export { setViewMode, getCurrentViewMode };