Reading online
User taps a comic and it starts streaming, then prefetching next comic in folder. User doesn't have to manage anything. App caches N last-read comics.
Preparing to go offline
Users flag a bunch of comics as "keep on device". App makes best-effort to suck them all down ASAP, keeps them until the user unflags them.
So:
The cloud button on comics becomes a small status badge
cloud (not flagged)
cloud+arrow+circular progress (flagged but not yet downloaded)
tick (flagged and downloaded)
Button moves into comic & folder menus, labelled "Keep downloaded" or "Remove download(s) from device"
Cached downloads are not reflected in the UI
Fix download cache logic - maybe always keep last 2 read comics (∴ if user reads "keep on device" downloads they lose their cached comics). Maybe qualify 'read' to mean that the user saw at least 3 pages and spent at least 1 minute.
Use cases we should care about are:
Reading online User taps a comic and it starts streaming, then prefetching next comic in folder. User doesn't have to manage anything. App caches N last-read comics.
Preparing to go offline Users flag a bunch of comics as "keep on device". App makes best-effort to suck them all down ASAP, keeps them until the user unflags them.
So: