From 4cb9bdbac1d346b0f681133235d630dab195fe88 Mon Sep 17 00:00:00 2001 From: John O'Keefe Date: Sun, 5 Apr 2026 21:30:16 -0400 Subject: [PATCH] fix: resolve TypeScript errors in reader module - reader-context.ts: fix event type to use ReaderEventType instead of string - page-calculator.ts: add pagesInChapter property to ChapterPageInfo interface - reader-navigation.ts: remove unused getScrollPositionForPage import --- web/src/reader/core/reader-context.ts | 11 +++++------ web/src/reader/core/reader-navigation.ts | 1 - web/src/reader/ebook/page-calculator.ts | 4 ++++ 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/web/src/reader/core/reader-context.ts b/web/src/reader/core/reader-context.ts index 7bb3264..f6fecdf 100644 --- a/web/src/reader/core/reader-context.ts +++ b/web/src/reader/core/reader-context.ts @@ -1,8 +1,5 @@ -import type { ReaderMetadata } from "../../types/reader"; import { PageCalculationResult } from "../ebook/page-calculator"; -type ReaderType = "ebook" | "pdf" | "comic" | "manga"; - interface UniversalReader { type: "ebook"; cif: any; @@ -79,10 +76,12 @@ export function createReaderContext( progressDisplay: document.getElementById("progress-display"), }, events: { - on: (event: string, handler: Function) => readerEvents.on(event, handler), - emit: (event: string, data?: any) => readerEvents.emit(event, data), + on: (event: ReaderEventType, handler: Function) => + readerEvents.on(event, handler), + emit: (event: ReaderEventType, data?: any) => + readerEvents.emit(event, data), }, }; } -import { readerEvents } from "./reader-events"; +import { readerEvents, ReaderEventType } from "./reader-events"; diff --git a/web/src/reader/core/reader-navigation.ts b/web/src/reader/core/reader-navigation.ts index c648100..68fa25b 100644 --- a/web/src/reader/core/reader-navigation.ts +++ b/web/src/reader/core/reader-navigation.ts @@ -6,7 +6,6 @@ import { calculatePagesForEbook, calculateProgressPercentage, getCurrentPageFromScroll, - getScrollPositionForPage, type PageCalculationResult, } from "../ebook/page-calculator"; diff --git a/web/src/reader/ebook/page-calculator.ts b/web/src/reader/ebook/page-calculator.ts index 73a13c7..c9e83d5 100644 --- a/web/src/reader/ebook/page-calculator.ts +++ b/web/src/reader/ebook/page-calculator.ts @@ -6,6 +6,7 @@ export interface ChapterPageInfo { endPage: number; scrollHeight: number; charCount: number; + pagesInChapter: number; } export interface PageCalculationResult { @@ -155,6 +156,7 @@ export async function calculatePagesForEbook( endPage: currentPage, scrollHeight: 0, charCount: 0, + pagesInChapter: 0, }); continue; } @@ -169,6 +171,7 @@ export async function calculatePagesForEbook( endPage: currentPage, scrollHeight: 0, charCount: 0, + pagesInChapter: 0, }); continue; } @@ -207,6 +210,7 @@ export async function calculatePagesForEbook( endPage: currentPage + pagesInChapter - 1, scrollHeight, charCount, + pagesInChapter, }; chapters.push(chapterInfo);