PR-8c (part 2) — the management surface for offline downloads (#651).
OfflineBooksSectionComponent in Profile → Site Settings (beside the existing WASM offline section): lists books downloaded for offline reading, newest-first (title, author, type, size), each with a remove button, plus a storage-usage bar from navigator.storage.estimate(). Driven by BookOfflineStoreService (getAllManifests, estimateUsage, deleteBook). i18n en + es.
PR-8c (part 2) — the management surface for offline downloads (#651).
`OfflineBooksSectionComponent` in Profile → Site Settings (beside the existing WASM offline section): lists books downloaded for offline reading, newest-first (title, author, type, size), each with a remove button, plus a storage-usage bar from `navigator.storage.estimate()`. Driven by `BookOfflineStoreService` (`getAllManifests`, `estimateUsage`, `deleteBook`). i18n en + es.
**Follow-up (PR-8c rest):** reader offline read — offline fallback in page resolution, blob-URL resource rewriting for EPUB images, `book-reader` prefers stored Blob, `auth.guard` offline entry.
PR: spikersoft-angular `feat/reader-offline-books-profile`.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
PR-8c (part 2) — the management surface for offline downloads (#651).
OfflineBooksSectionComponentin Profile → Site Settings (beside the existing WASM offline section): lists books downloaded for offline reading, newest-first (title, author, type, size), each with a remove button, plus a storage-usage bar fromnavigator.storage.estimate(). Driven byBookOfflineStoreService(getAllManifests,estimateUsage,deleteBook). i18n en + es.Follow-up (PR-8c rest): reader offline read — offline fallback in page resolution, blob-URL resource rewriting for EPUB images,
book-readerprefers stored Blob,auth.guardoffline entry.PR: spikersoft-angular
feat/reader-offline-books-profile.Verified complete: spikersoft-angular PR #227 merged; offline-books-section.component exists on master with list/remove/quota strings (offline.manageTitle/storageUsed/noneDownloaded). Closing.