Add bookmark/like support with floating heart button
Created by: jedmund
Summary
- Add POST endpoint support to
PixivEndpoint(bookmark add/delete/detail) and a voidsend()overload toPixivAPIClient - Decode
is_bookmarkedfrom Pixiv illust responses; addBookmarkDetailmodel for public/private state - Floating glass heart button in detail view and lightbox: tap to toggle public bookmark, long-press context menu for public/private/remove
- Private bookmarks show a lock badge over the heart
- Grid cells show a heart indicator (bottom-right) for bookmarked posts; page-count pill moved to bottom-left
- Lightbox polish: loading spinner while high-res image loads, fully opaque backdrop, glass effect on X and heart buttons, nav/tab bars hidden during lightbox
Test plan
-
Open detail view for an unbookmarked post — heart button is outline, bottom-right -
Tap heart — fills red, API call adds public bookmark -
Tap heart again — unfills, bookmark removed -
Long-press heart — context menu with Bookmark Publicly, Bookmark Privately, Remove Bookmark -
Bookmark privately — heart fills red with gray lock badge -
Navigate to a previously-bookmarked post — heart pre-filled on load -
Grid shows heart badge on bookmarked posts, page-count pill on bottom-left -
Tap image to open lightbox — heart button visible, X button same size, loading spinner shows while image loads -
Nav bar and tab bar hidden during lightbox