Cover gallery UI and polish #9

Merged
365DevNet merged 0 commits from refs/pull/9/head into main 2026-07-17 14:17:56 +02:00
365DevNet commented 2026-07-17 14:17:21 +02:00 (Migrated from codeberg.org)

Replaces the plain text library list with a 3x3 cover gallery and a book
details page, plus a round of device-driven polish. All device-verified on
the InkPad Color 3.

  • 3x3 gallery of book covers, paged, replacing the text list.
  • Book details page: cover, facts, summary when present, Load/Unload.
  • Covers + summaries fetched from Kavita (apiKey as query param); missing
    covers fall back to titled placeholders.

Polish from the first device walkthrough

  • Retry on the connection-error screen (re-attempts without entering
    setup; also gives the WiFi-failed state a button it never had).
  • "On device" bar across the foot of a loaded cover, replacing the
    cryptic corner square.
  • In-place download progress on the details page instead of full-screen
    message swaps.
  • Async A2 progress bar: the per-percent redraw now uses the
    asynchronous DynamicUpdateA2 waveform (time-throttled ~2/sec) so it no
    longer blocks the download on the UI thread; smooth and fast.

Not included

  • Exit-time library scan left as-is (~19s, accepted).
  • Custom launcher icon deferred: the documented view.json method makes the
    app vanish on this bookspot-rebranded firmware (see
    docs/device-icon-setup.md). Icon assets kept in images/.

Testing

106 host unit tests pass; ARM cross-build clean. UI/device-glue changes are
inkview-only (no host harness) and were verified by device walkthrough.

🤖 Generated with Claude Code

Replaces the plain text library list with a 3x3 cover gallery and a book details page, plus a round of device-driven polish. All device-verified on the InkPad Color 3. ## Cover gallery (phase 3) - 3x3 gallery of book covers, paged, replacing the text list. - Book details page: cover, facts, summary when present, Load/Unload. - Covers + summaries fetched from Kavita (apiKey as query param); missing covers fall back to titled placeholders. ## Polish from the first device walkthrough - **Retry** on the connection-error screen (re-attempts without entering setup; also gives the WiFi-failed state a button it never had). - **"On device" bar** across the foot of a loaded cover, replacing the cryptic corner square. - **In-place download progress** on the details page instead of full-screen message swaps. - **Async A2 progress bar**: the per-percent redraw now uses the asynchronous DynamicUpdateA2 waveform (time-throttled ~2/sec) so it no longer blocks the download on the UI thread; smooth and fast. ## Not included - Exit-time library scan left as-is (~19s, accepted). - Custom launcher icon deferred: the documented view.json method makes the app vanish on this bookspot-rebranded firmware (see docs/device-icon-setup.md). Icon assets kept in images/. ## Testing 106 host unit tests pass; ARM cross-build clean. UI/device-glue changes are inkview-only (no host harness) and were verified by device walkthrough. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
365DevNet/PocketBook_Kavita_sync!9
No description provided.