Skip to content

feat: collecting mode — hide card values and price changes (#198) - #204

Merged
treyes133 merged 1 commit into
stagingfrom
feat/collecting-mode
Oct 4, 2026
Merged

treyes133 merged 1 commit into
stagingfrom
feat/collecting-mode

Conversation

@treyes133

@treyes133 treyes133 commented Oct 4, 2026 •

Copy link
Copy Markdown
Contributor

What & why

Closes #198: "Some people are just here for the love of the game. Let me turn off the card value views throughout the app so it can be just a collecting mode."

Settings → App → Collecting mode. The rule: no values and no % changes anywhere you browse or file cards. Tools you open to talk about money keep their numbers.

Hidden:

  • The tin. The header becomes "312 cards in your tin" with no Portfolio link. Also gone: divider tray values, the divider/Everything plaque value, its performance chart and "Change vs" picker, flip-through values, the "Sold … for $X" caption, and the Highest value sort.
  • Every PriceLabel and DeltaBadge (rows, grids, search, set and Pokédex grids, Discover tiles, "In your tin"), via a new \.hidesPrices environment value, so future uses inherit the rule.
  • Card screen. The price block, history, "Grade it?" and the paid line go. Art, what the card is, your copies, population and marketplace links stay.
  • Scan and add. Scan tray and review totals, the add form's "Holo · $12" labels, sealed values, and the binder lens.
  • Discover. The price-defined shelves (Easy adds, Worth a think, Someday, Cheapest in 6 months, Down this week), the "what would you spend?" prompt, and "Chase · $X" → "Chase".
  • The Movers tab and the Watching row, which are nothing but price movement.
  • The widget shows the card count, with no change or sparkline. WidgetSnapshot.hidesPrices is optional so snapshots already on disk still decode, and the snapshot is republished when the toggle flips.

Kept, explicitly via .keepsPrices(): the wishlist (a target price means nothing without the market beside it), the For Trade list and trade sessions. Printed reports and trade sheets render outside the app's environment and are untouched, as is the catalog browser's price filter (a tool you open on purpose).

Stack (4 of 5). staging ← #201 (% fix) ← #202 (card screen, #197) ← #203 (sort/filter/grid, #193) ← #204 (collecting mode, #198) ← #205 (file all, #199). Merge in order. Merged branches aren't auto-deleted here, so after merging the PR below this one, delete its branch and GitHub retargets this one. If you squash-merge, this branch needs a rebase onto staging first; ask and I'll do it.

Checklist

  • Tests pass locally: full iOS suite, 1291 passed / 0 failed / 3 skipped (new: Discover drops price shelves in collecting mode, and the widget snapshot round-trips the field and still decodes old snapshots)
  • No secrets, .env, keys, or docs/ contents committed
  • Targets staging (feature work), not main directly. Stacked: base is the PR below it until that merges.

⚠️ Not device-verified. It touches about 20 screens. Flip the toggle and walk the tin, a card, Discover, the scanner and the widget. The view-level gating has no unit tests.

🤖 Generated with Claude Code

"Some people are just here for the love of the game. Let me turn off the card value views
throughout the app so it can be just a collecting mode."

Settings → App → Collecting mode. Scope (decided 2026-10-03): no values and no % changes
anywhere you browse or file cards; tools you open to talk about money keep their numbers.

Hidden:
- The tin header becomes "312 cards in your tin" (no Portfolio link); divider trays, the
  divider/Everything plaque, its performance chart and "Change vs" picker, flip-through, the
  "Sold … for $X" caption, and the Highest value sort.
- Every PriceLabel and DeltaBadge (rows, grids, search, set and Pokédex grids, Discover tiles,
  "In your tin"), via `\.hidesPrices`, so new uses inherit the rule.
- Card screen: the price block, history, "Grade it?" and the paid line. Art, what the card is,
  your copies, population and marketplace links stay.
- Scan tray and review totals, the add form's "Holo · $12" labels, sealed values, binder lens.
- Discover's price-defined shelves (Easy adds, Worth a think, Someday, Cheapest in 6 months,
  Down this week), the "what would you spend?" prompt, and "Chase · $X" → "Chase".
- The Movers tab and the Watching row: nothing but price movement.
- The widget shows the card count, with no change or sparkline (`WidgetSnapshot.hidesPrices`,
  optional so snapshots already on disk still decode; republished when the toggle flips).

Kept, explicitly via `.keepsPrices()`: the wishlist (a target means nothing without the market
beside it), the For Trade list and trade sessions. Printed reports and trade sheets render
outside the app's environment and are untouched, as is the catalog browser's price filter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@treyes133
treyes133 force-pushed the feat/collecting-mode branch from 8eea23c to 6fe7131 Compare October 4, 2026 03:10
@treyes133
treyes133 changed the base branch from feat/tin-sort-filter to staging October 4, 2026 03:10
@treyes133
treyes133 merged commit 734fdc0 into staging Oct 4, 2026
10 checks passed
@treyes133 treyes133 mentioned this pull request Oct 4, 2026
3 tasks done
treyes133 added a commit that referenced this pull request Oct 4, 2026
1.0.5 (build 45) was approved on 2026-08-21 and promoted to main as #189, which closes its train
for new builds. 1.0.6 carries everything merged to staging since: the % change fix (#201), the
card screen's evolution line and divider links (#202), sorting/filtering/grid for dividers
(#203), collecting mode (#204), "File all in…" for the scan tray (#205), and the scanner haptic
fix (#192).

Not verified against appStoreVersions — this machine has no App Store Connect credentials. The
note above MARKETING_VERSION says what to check before the first upload.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant