Gallery has no 'Clear all favorites' or bulk-unfavorite action — a user who starred 30 designs and changed their mind has to unfavorite one card at a time #192

Closed
opened 2026-10-03 23:47:50 +00:00 by Mark · 1 comment
Owner

Finding

src/pages/Gallery.tsx has a per-card favorite toggle (DesignCard.tsx:482 aria-label="Add to favorites" / "Remove from favorites"). The bulk action toolbar (SelectionToolbar.tsx) added in #179 has bulk delete, bulk move, and bulk favorite (add) — but no bulk "remove from favorites."

A user with 30 favorited designs who decides to clean up has to:

  • Toggle off favorite on each card individually
  • Or use the multi-select toolbar, then... realize there's no "Unfavorite selected" action

grep -n 'clearFavorites\|unfavoriteAll\|bulkUnfavorite' src/ returns 0 hits.

Where

  • SelectionToolbar (bulk add favorite): src/components/gallery/SelectionToolbar.tsx:18 (onBulkFavorite)
  • No bulk remove: src/components/gallery/SelectionToolbar.tsx (no onBulkUnfavorite prop)
  • No clear all: src/pages/Gallery.tsx (no toolbar button for "clear all favorites")

Suggested fix shape

Two options:

  1. Replace the "Favorite" bulk button with a toggle: when the selected designs are all favorited, the button is "Remove from favorites"; when some are, it's "Mixed"; when none are, it's "Add to favorites." Click applies the correct action.

  2. Two bulk buttons: "+ Favorite" and "− Favorite" in the SelectionToolbar. The "−" is enabled only if at least one selected design is favorited.

Both options need a new onBulkUnfavorite: (ids: string[]) => void prop on SelectionToolbar and a corresponding handler in Gallery.tsx that calls toggleFavorite for each selected id (the existing handleToggleFavorite does this per-id).

Severity

Low. The user can un-favorite per-card. Power users with many favorites notice.

Discovered by

Gap analysis (2026-10-02) of gallery bulk actions.

  • #179 (closed) — Gallery multi-select with bulk actions. The bulk favorite is one direction; bulk unfavorite is the other.
  • #151 (closed) — Gallery sort + favorites quick-filter. The filter view surfaces favorites; bulk unfavorite complements it.
## Finding `src/pages/Gallery.tsx` has a per-card favorite toggle (`DesignCard.tsx:482` `aria-label="Add to favorites"` / "Remove from favorites"). The bulk action toolbar (`SelectionToolbar.tsx`) added in #179 has bulk delete, bulk move, and bulk favorite (add) — but no bulk "remove from favorites." A user with 30 favorited designs who decides to clean up has to: - Toggle off favorite on each card individually - Or use the multi-select toolbar, then... realize there's no "Unfavorite selected" action `grep -n 'clearFavorites\|unfavoriteAll\|bulkUnfavorite' src/` returns 0 hits. ## Where - SelectionToolbar (bulk add favorite): `src/components/gallery/SelectionToolbar.tsx:18` (`onBulkFavorite`) - No bulk remove: `src/components/gallery/SelectionToolbar.tsx` (no `onBulkUnfavorite` prop) - No clear all: `src/pages/Gallery.tsx` (no toolbar button for "clear all favorites") ## Suggested fix shape Two options: 1. **Replace the "Favorite" bulk button with a toggle**: when the selected designs are all favorited, the button is "Remove from favorites"; when some are, it's "Mixed"; when none are, it's "Add to favorites." Click applies the correct action. 2. **Two bulk buttons**: "+ Favorite" and "− Favorite" in the SelectionToolbar. The "−" is enabled only if at least one selected design is favorited. Both options need a new `onBulkUnfavorite: (ids: string[]) => void` prop on `SelectionToolbar` and a corresponding handler in `Gallery.tsx` that calls `toggleFavorite` for each selected id (the existing `handleToggleFavorite` does this per-id). ## Severity Low. The user can un-favorite per-card. Power users with many favorites notice. ## Discovered by Gap analysis (2026-10-02) of gallery bulk actions. ## Related - #179 (closed) — Gallery multi-select with bulk actions. The bulk favorite is one direction; bulk unfavorite is the other. - #151 (closed) — Gallery sort + favorites quick-filter. The filter view surfaces favorites; bulk unfavorite complements it.
Author
Owner

Shipped in 4eb52e3 (origin/main). Added a bulk-Unfavorite button to SelectionToolbar next to the existing Favorite button — disabled when no selected design is currently favorited so the toolbar can never offer a no-op. Fires a "N designs removed from favorites" summary toast mirroring the bulk-add shape. 2 new tests in issue-179.test.tsx + the empty-selection assertion was extended to cover the new button. Local vitest green (11 passed).

Shipped in 4eb52e3 (origin/main). Added a bulk-Unfavorite button to SelectionToolbar next to the existing Favorite button — disabled when no selected design is currently favorited so the toolbar can never offer a no-op. Fires a "N designs removed from favorites" summary toast mirroring the bulk-add shape. 2 new tests in issue-179.test.tsx + the empty-selection assertion was extended to cover the new button. Local vitest green (11 passed).
Mark closed this issue 2026-10-04 00:21:34 +00:00
Sign in to join this conversation.
No description provided.