feat(ui): ActionCard widget for the home action tiles (stacked on #630) - #631
Conversation
n13
left a comment
There was a problem hiding this comment.
Reviewer model: GPT Sol
Verdict (advisory): Request changes
Blocking findings:
-
[P1] Rebase the stack onto current
mainbefore merging. After #630 was squash-merged, GitHub retargeted this PR tomainatb1c11508, but this head still descends from the pre-squash #630 commits. GitHub now reportsCONFLICTING, andgit merge-tree b1c11508 2de1f8acconfirms a content conflict inmobile-app/lib/v2/screens/home/home_screen.dart. The current PR also exposes the already-merged #630 work again as a cumulative nine-file diff. Sinceb1c11508and the old stack parentdc6222d0have identical trees, rebasing/dropping the duplicated #630 commits should preserve the intended four-file ActionCard delta while restoring a reviewable, mergeable history. Please rerun full CI on that rebased head. -
[P2] Keep the ActionCard gradient inside the established V3 color-token contract (
quantus_sdk/lib/src/ui/themes/app_colors.dart:21,:97).bgCardTopandbgCardBottomare explicitly introduced as colors outside the token table, but the repository's checked-in UI convention requiresAppColorsV3to map 1:1 to the Figma SYSTEM / Color Tokens table and says non-table shades must be derived from existing tokens. Adding these fields makes the shared theme a second palette outside that contract. Use existing theme colors or derive the required gradient shades from existing tokens without adding non-tableAppColorsV3entries.
Validation:
- Reviewed the original exact
dc6222d0...2de1f8acfour-file delta, then refreshed after the live base changed and inspected the currentb1c11508...2de1f8acnine-file cumulative diff plus the direct four-file tree delta;git diff --checkpassed. - Workspace format check: 717 Dart files, 0 changes.
flutter test test/screens/home_intent_gating_test.dart: 5/5 passed.- Fatal-info analysis passed for
quantus_sdk, cold-wallet, and miner; mobile analysis was stopped at the repository's 10-second cap while still running. The exact-head GitHub rollup currently contains only successful dependency-cooldown checks, not full CI.
No other blocking findings were identified in the intended ActionCard delta.
…sign The home Receive/Send/Swap tiles are not a design-system Button type: they use a vertical gradient fill, a hairline border, 20/16 padding and an icon-over-label layout. Add the two gradient stops as bgCardTop/bgCardBottom tokens, move the tile into a shared ActionCard widget, and drop the per-call QuantusButton overrides from the home screen.
11220f9 to
305add2
Compare
Stacked on #630; merge that first.
The home Receive / Send / Swap tiles are not one of the four design-system Button types (Primary / Staged / Ghost / Disabled). Per the app design they are an icon-over-label tile with a vertical gradient fill, a hairline border, radius 14 and 20/16 padding, and the same block recurs on the encrypted-account home, the empty state, account management and the POS flow.
bgCardTop/bgCardBottomtoAppColorsV3for the tile gradient (#141414→#1A1A1A, from the app design rather than the token table).ActionCardto quantus_sdk: gradient fill,borderHairline,radiusV3.md, 24ptaccentFlareicon overbodyLargeat white 80%, disabled = 40% opacity with no tap.ActionCard; the per-call padding / variant / text-style / icon-placement overrides onQuantusButtonare gone.QuantusButtonitself is unchanged.Design: https://www.figma.com/design/PgeYxDIqdylnHoUwIXv60X/Quantus-App?node-id=1-1887&m=dev (home), https://www.figma.com/design/PgeYxDIqdylnHoUwIXv60X/Quantus-App?node-id=1-604&m=dev (component library).
Verified on the iPhone 17e simulator against the Figma frame;
melos run format,melos run analyzeand the home gating test pass.