Skip to content

fix(rewards): eight defects on the v3 upgrade and rewards screens - #2537

Merged
MusabShakeel576 merged 2 commits into
qafrom
claude/festive-fermat-1xn11s
Sep 20, 2026
Merged

MusabShakeel576 merged 2 commits into
qafrom
claude/festive-fermat-1xn11s

Conversation

@MusabShakeel576

Copy link
Copy Markdown
Contributor

No description provided.

Reported from QA against the Figma designs.

- The rewards screen still offered v2's card — a points bar climbing to a tier
  points no longer grant, and a "skip the line" FUSE deposit that is now a
  priced year-long lock. Once the backend says points do not unlock tiers, it
  is replaced by JoinTierClubCard, which teases the tier and opens the upgrade
  screen. Both halves of the condition matter: without the first it duplicates
  v2's card, without a purchasable tier it invites an Ultra member to join a
  club they are in.

- "Top up" on the cash route pushed to /deposit, dropping the user out of a
  decision they were mid-way through. It now opens the deposit chooser over the
  screen, which is the drawer the rest of the app uses.

- A Core user could only ever be shown Prime. The upgrade screen now carries
  the same TierSwitcher the benefits page uses, listing the tiers actually on
  offer — so it collapses to nothing as the user climbs, since a one-tab switch
  is a label.

- The selected route label was white on white: `Text` merges its class with the
  surrounding text context, and the merge lost `text-black`. The colour is an
  inline style now, which cannot be merged away — the same way every other
  black-on-light label in these screens is written.

- The hero card's backdrop was `rewards-tiers/*-summary.png`, which are the
  finished marketing cards with "+2% Yield boost" set into the artwork. Behind
  this card's own benefit list they showed as a second, larger, half-covered
  copy of the same words. Replaced with the grey gradient the design asks for.

- Prime's star carries a -5px nudge measured against the 235px hero, where it
  is 2% of the height. Beside a 28px heading it was 18% — a glyph adrift from
  its own text. The nudge now scales with the size it is drawn at, with a test
  pinning that it can never exceed the measured 5px.

- The Rewards summary card had no gradient. Added the design's green wash off
  the top-right, faded out before it reaches the figures.

- The annual-fee sentence breaks where the design breaks it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XGzkz4QFpEZVg6GpNH311x
"You're on Prime now!" exists and is route-agnostic: RewardsUpgradeFeedback
celebrates a tier it sees rise between two reads of the rewards payload, which
is how points, a savings deposit and an activated trial all get the same card.

A lock and an annual fee did not, and would mostly have been missed. Both
invalidated the rewards query, which buys exactly one read — taken the instant
the transaction lands, before the backend has re-derived the tier from a lock
it has not indexed or a subscription row written in the same breath. That read
returns the old tier, nothing appears to have risen, and the upgrade the user
just paid for goes unacknowledged.

Arming `savingsChanged` opens the polling window, so the payload is re-read
until the new tier arrives — the same mechanism the savings path uses, so all
four routes into a tier now produce the identical celebration.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XGzkz4QFpEZVg6GpNH311x
@vercel

vercel Bot commented Sep 20, 2026

Copy link
Copy Markdown

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

2 Skipped Deployments
Project Deployment Actions Updated
solid-app Ignored Ignored Sep 20, 2026 12:56pm UTC
solid-app-staging Ignored Ignored Sep 20, 2026 12:56pm UTC

Request Review

@MusabShakeel576
MusabShakeel576 merged commit bacb287 into qa Sep 20, 2026
5 of 6 checks passed
@MusabShakeel576
MusabShakeel576 deleted the claude/festive-fermat-1xn11s branch September 20, 2026 12:57
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