fix: resolve progress update errors and use dynamic page calculation

- reader-navigation.ts: add fallback for mediaItemId from page URL
- reader-navigation.ts: use getCurrentPageFromScroll for accurate page tracking
- reader-navigation.ts: use pageCalculationResult.totalPages for total
- reader-services.ts: validate mediaItemId before API call
- reader-services.ts: avoid double body consumption by checking response.ok
This commit is contained in:
2026-04-05 21:35:57 -04:00
parent 4cb9bdbac1
commit ba8c53cf4b
2 changed files with 34 additions and 3 deletions
+9 -1
View File
@@ -9,11 +9,19 @@ export async function updateReadingProgress(
mediaItemId: string,
progress: ReadingProgress,
): Promise<void> {
if (!mediaItemId || mediaItemId === "undefined") {
console.warn("Skipping progress update - no valid mediaItemId");
return;
}
const response = await apiPut(
`/media-items/${mediaItemId}/progress`,
progress,
);
await response.json();
if (!response.ok) {
const errorText = await response.text();
console.warn("Progress update failed:", response.status, errorText);
return;
}
}
export function getChapterNavigation(chapters: any[]) {