Skip to content

Swap wishlist and favourite icons: bookmark for wishlist, heart for roaster favourites - #23

Merged
jameshiggins merged 1 commit into
mainfrom
feat/swap-wishlist-favorite-icons
Sep 24, 2026
Merged

jameshiggins merged 1 commit into
mainfrom
feat/swap-wishlist-favorite-icons

Conversation

@jameshiggins

Copy link
Copy Markdown
Owner

Summary

Swaps the two "save" icons so they match what each action means.

Action Was Now Why
Wishlist a bean red ♥ / ♡ text glyph bookmark (accent colour) A wishlist is "buy this later", with restock alerts attached — a bookmark, the same glyph Vivino and Untappd use for want.
Pin / favourite a roaster bookmark heart Pinning a roaster is affection, which is what a heart says.

Touch points

  • WishlistHeart.jsx — bookmark SVG from the shared Icon set instead of a text glyph; accent colour instead of red so it sits with the rest of the UI; adds aria-label (matches FavoriteRoasterButton). Component name kept to keep the diff small; rename is cosmetic and can follow.
  • FavoriteRoasterButton.jsx, the Pinned filter chip on the roaster directory, and the account-page "Nothing pinned yet" hint → heart.
  • Wishlist nav tab and the wishlist page's empty-state hint → bookmark (the hint previously used a literal ♡ character).

No behaviour or label changes ("Add to wishlist", "Pin X" are unchanged), so existing tests pass untouched.

Tests

New WishlistHeart.test.jsx — the component had none: accessible pressed/unpressed toggle, add vs. remove, click doesn't bubble to the card, hidden when signed out, and a guard that it renders an SVG rather than a ♥/♡ and isn't red.

Lint 0 errors, typecheck clean, 338 tests passing (+6), build clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01WQPoqZvpFtcjR76PFyVv99


Generated by Claude Code

… heart for favourites

The bean wishlist used a red ♥/♡ heart and roaster favourites used a
bookmark — inverted semantics. A wishlist is "buy this later" (with
restock alerts attached): a bookmark, the same glyph Vivino and Untappd
use for "want". Pinning a roaster is affection: that's the heart.

- WishlistHeart: bookmark SVG from the shared Icon set instead of a
  text glyph; accent colour instead of red so it matches the rest of
  the UI; adds aria-label to match FavoriteRoasterButton.
- FavoriteRoasterButton, the "Pinned" directory filter, and the
  account-page hint: heart.
- Wishlist nav tab and empty-state hint: bookmark.

No behaviour change; labels ("Add to wishlist", "Pin X") unchanged.
Adds a WishlistHeart test (it had none) covering the toggle, the glyph
choice, click containment and the signed-out state.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQPoqZvpFtcjR76PFyVv99
@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
coffee-tracker-react Ready Ready Preview Sep 24, 2026 8:21pm UTC
coffee-tracker-react-rrhm Ready Ready Preview Sep 24, 2026 8:21pm UTC

@jameshiggins
jameshiggins marked this pull request as ready for review September 24, 2026 20:22
@jameshiggins
jameshiggins merged commit c6217dc into main Sep 24, 2026
4 checks passed

This branch was successfully deployed

2 active deployments
Preview – coffee-tracker-react — 36948434 Deployed Sep 24, 2026 by vercel[bot]
Preview – coffee-tracker-react-rrhm — 36948434 Deployed Sep 24, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants