feat(ui): internal transfers render a circulating-arrows amount, not a sign - #952
Conversation
…t a sign An identity top-up read "+2 Đ" — like an external receive — when it only moved the wallet's own funds. Every internal history row now renders the amount signless with a circulating-arrows glyph before it (DashUIKit's new TransactionView.amountAccessorySystemImage): - main-feed rows with an internalTransferRoute (identity top-up / registration / invitation, to-Shielded, Shielded payout, to-Platform, self-sends) - internal shielded-activity rows (already signless; now carry the glyph) - the CoinJoin mixing group row External sends and receives keep their +/- signs. DashUIKit pin: master → feat/amount-accessory-icon (dashpay/DashUIKit#10, which also carries the TextField-prompt fix master needs to compile for iOS). Flip back to master once that PR merges. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughHome transaction rows now use circulating-arrows accessories for CoinJoin, internal transfers, and shielded activity. Internal-transfer detection applies only to metadata-less transactions. Other transactions retain directional signs. ChangesTransaction amount accessories
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@DashWallet/Sources/UI/Home/Views/HomeView.swift`:
- Around line 784-787: Update the amount presentation metadata in the HomeView
transaction configuration so the internal-transfer sign and route glyph are used
only when metadata == nil && txItem.internalTransferRoute != nil; otherwise
preserve the normal amount presentation. Add a regression test covering an
internal transfer with custom-icon metadata and verify the metadata takes
precedence for both amount fields.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro Plus
Run ID: bb3f78be-c06b-482b-917a-09a52bf370bd
⛔ Files ignored due to path filters (1)
DashWallet.xcworkspace/xcshareddata/swiftpm/Package.resolvedis excluded by!**/Package.resolved
📒 Files selected for processing (2)
DashWallet.xcodeproj/project.pbxprojDashWallet/Sources/UI/Home/Views/HomeView.swift
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
dashpay/DashUIKit#10 merged — the package pin is back on |
Merchant/gift-card metadata already wins over the route icons and title on a history row; give the amount the same precedence — the signless circulating-arrows treatment applies only to metadata-less internal moves. (No regression test: the unit-test target is pre-existing broken; verified by build + simulator smoke.) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Issue being fixed or feature implemented
An identity top-up row read "+2 Đ" — styled like an external receive — when the transaction only moved the wallet's own funds. Wallet-internal rows shouldn't claim a direction.
What was done
Every internal history row now renders its amount signless, with a circulating-arrows glyph (⟳) before it:
internalTransferRoute: identity top-up / registration / invitation asset locks, to-Shielded transfers, Shielded → Transparent payouts, to-Platform fundings, and plain self-sendsExternal sends and receives keep their
+/-signs; Platform-address receives (external senders) are untouched.The glyph is a new
TransactionView.amountAccessorySystemImagein DashUIKit (dashpay/DashUIKit#10) — an optional SF Symbol before the trailing amount, secondary tone. dashpay/DashUIKit#10 has merged, and the package pin points atmaster(88bf41f), which carries both the new API and thefix/textfield-prompt-typecompile fix iOS consumers need.How Has This Been Tested?
Clean
dashpayarm64 simulator build. Installed on the testnet QA simulator: the "Identity top-up" row shows "⟳ 2 Đ" (no sign), while an external "Sent to …" row keeps "-1 Đ". (Unit-test target pre-existing broken.)Breaking Changes
None.
Checklist:
For repository code-owners and collaborators only
🤖 Generated with Claude Code
Summary by CodeRabbit