package templates import ( "encoding/json" "fmt" ) func readerInitExpr(metadata ReaderMetadata, progress ReadingProgress) string { config := map[string]interface{}{ "mediaItemId": metadata.MediaItemID, "fileUrl": metadata.FileURL, "formatGroup": metadata.FormatGroup, "readingDirection": metadata.ReadingDirection, "mangaType": metadata.MangaType, } if progress.Percentage > 0 { config["savedPercentage"] = progress.Percentage / 100 } if progress.EpubCfi != "" { config["savedCfi"] = progress.EpubCfi } // Fixed-layout & comic formats: the page index is the canonical, exact // locator (pages are fixed images). Pass it so the reader restores by page. if (metadata.FormatGroup == "fixed_layout" || metadata.FormatGroup == "comic_archive") && progress.CurrentPage > 0 { config["savedPage"] = progress.CurrentPage if progress.TotalPages > 0 { config["savedTotalPages"] = progress.TotalPages } } jsonBytes, _ := json.Marshal(config) return fmt.Sprintf("initReader(%s)", string(jsonBytes)) } templ Reader(user User, metadata ReaderMetadata, progress ReadingProgress, bookmarks []Bookmark) {
No bookmarks yet
}