Skip to content

Add bookmark/like support with floating heart button

jedmund requested to merge jedmund/like-posts into main

Created by: jedmund

Summary

  • Add POST endpoint support to PixivEndpoint (bookmark add/delete/detail) and a void send() overload to PixivAPIClient
  • Decode is_bookmarked from Pixiv illust responses; add BookmarkDetail model 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

🤖 Generated with Claude Code

Merge request reports

Loading