Skip to content

fix: polish wallet ui - #1270

Open
pwltr wants to merge 29 commits into
masterfrom
fix/polish
Open

pwltr wants to merge 29 commits into
masterfrom
fix/polish

Conversation

@pwltr

@pwltr pwltr commented Sep 15, 2026

Copy link
Copy Markdown
Contributor

Description

This PR polishes the current wallet UI stack:

  • Aligns button text styles, small button sizing, scanner/send icon button backgrounds, selected tab indicator color, and money symbol styling.
  • Tightens amount screen, transfer flow, wallet activity, invoice tag, receive confirmation, boost sheet, and activity detail spacing/typography.
  • Updates onboarding/settings intro copy, translations, sheet intro layout behavior, and restore wallet mnemonic emphasis.
  • Keeps a changelog fragment for the wallet polish work and restores the existing incoming payment request fragment from master.

Design

Mapped screen references are listed in docs/screens-map.md for the touched screens, including:

  • HomeScreen.kt → Wallet On-chain › Wallet BTC
  • SavingsWalletScreen.kt → Savings, Spending, Hardware Balances › Savings Populated
  • SpendingWalletScreen.kt → Savings, Spending, Hardware Balances › Spending Ready
  • SpendingAmountScreen.kt / SpendingAdvancedScreen.kt / SpendingConfirmScreen.kt → Transfer to Spending Balance From Savings frames
  • EditInvoiceScreen.kt / ReceiveConfirmScreen.kt / ReceiveQrScreen.kt → receive/send invoice frames
  • ActivityDetailScreen.kt / AllActivityScreen.kt → transaction/activity frames
  • RestoreWalletScreen.kt / OnboardingSlidesScreen.kt / CreateWalletScreen.kt → onboarding frames
  • BackupIntroScreen.kt / QuickPayIntroScreen.kt → settings intro frames

Out-of-map sheets and shared components were cross-checked against the existing iOS implementation and user-provided screenshots during implementation.

Preview

QA Notes

Manual Tests

  • Open the wallet home screen and verify the section spacing between balances, activity, and action areas remains visually consistent.
  • Open Savings and Spending wallet screens and verify the transfer button has the intended space before the first activity row.
  • Walk through the transfer-to-spending amount, advanced, and confirm screens; verify title/amount spacing, number pad spacing, amount symbols, and coin image tilt on slider drag.
  • Open receive invoice editing and verify tags sit in the same row as the add tag button, note/add-tag input styling matches, and selected tag spacing is correct.
  • Open transaction details and the boost sheet; verify the boost icon, fee amount symbol, long duration text, outline suggested-fee button, and single top toast behavior.
  • Walk through onboarding/settings intro screens and restore wallet; verify copy, translations, sheet image placement, and focused mnemonic word weight.

Automated Checks

  • ./gradlew compileDevDebugKotlin

Comment thread app/src/main/java/to/bitkit/ui/components/BottomSheet.kt Outdated
} else {
Modifier.graphicsLayer {
colorFilter = ColorFilter.tint(Colors.White32)
CompositionLocalProvider(LocalMinimumInteractiveComponentSize provides 0.dp) {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixed small button text and disabled styles

@pwltr
pwltr force-pushed the fix/polish branch 3 times, most recently from 52c4d23 to 9ee2d2a Compare September 18, 2026 11:22
@pwltr

pwltr commented Sep 18, 2026

Copy link
Copy Markdown
Contributor Author

This PR is mostly visual polish across wallet, transfer, receive, onboarding, and settings screens: spacing, typography, colors, icons, animations, localized copy, and currency-symbol consistency.

Changes worth focused review:

  • The shared button component now applies size-specific typography and removes Material’s minimum interactive height so small buttons remain the intended height in every state.
  • The boost sheet displays a localized, long-form duration for its fee estimate. This does not change fee calculation or selection.
  • The scanner hides its back button when opened from the tab bar; other scanner entry points retain it.

No wallet, payment-execution, persistence, or networking logic is changed.

@pwltr
pwltr marked this pull request as ready for review September 18, 2026 11:22
@pwltr
pwltr enabled auto-merge (squash) September 18, 2026 11:23
@greptile-apps

greptile-apps Bot commented Sep 18, 2026

Copy link
Copy Markdown

RetriggerConfidence Score: 4/5

The PR appears safe to merge after non-blocking presentation and localization inconsistencies are addressed.

Findings

  1. P2 Fee rate uses money format
  2. P2 Instant duration lacks translations

Summary

This PR broadly polishes the wallet UI, including shared typography and money presentation, transfer and receive layouts, scanner and activity styling, onboarding copy, localized resources, and boost-fee presentation.

  • Adds fee-duration resources and uses them in transaction boosting.
  • Refines shared buttons, amount fields, tabs, tags, icons, and activity spacing.
  • Updates receive, transfer, onboarding, settings, and scanner surfaces.
  • Adds a changelog fragment covering the wallet UI polish.

Reviews (1) · Last reviewed commit: "fix: restore changelog fragment"

Comment thread app/src/main/java/to/bitkit/ui/sheets/BoostTransactionSheet.kt Outdated
Comment thread app/src/main/java/to/bitkit/models/FeeRate.kt
@github-actions

github-actions Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Regtest APK

Built from 897ade6 (run).

Download bitkit-dev-debug universal APK (expires in 30 days).

@pwltr
pwltr disabled the stack merge September 18, 2026 13:51
@pwltr
pwltr added this pull request to stack #1315 September 18, 2026 13:51
@pwltr
pwltr requested review from jvsena42 and ovitrif September 18, 2026 14:32

@ovi-reviewer ovi-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: ✅ Approve


Review: diff 72 files.

Findings:
6 inline (non-blocking)

Audit:
Audited - no findings.


Reviewed by gpt-5.6-sol-high via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest · audit (author or owner)

Comment thread app/src/main/java/to/bitkit/ui/components/Text.kt Outdated
Comment thread app/src/main/java/to/bitkit/ui/screens/transfer/SettingUpScreen.kt
Comment thread app/src/main/java/to/bitkit/ui/onboarding/RestoreWalletScreen.kt Outdated
Comment thread app/src/main/java/to/bitkit/ui/sheets/QrScanningSheet.kt
Comment thread app/src/main/java/to/bitkit/ui/components/Button.kt

@ovi-reviewer ovi-reviewer Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Verdict: ✅ Approve


Reaudit: diff 10 files.

Findings:
N/A

Audit:
Already done in comment.

Coverage:
Unit tests: 85% - ButtonTest.kt covers button heights across states and AppViewModelSendFlowTest.kt covers scanner flag selection.


Reviewed by gpt-5.6-sol-high via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest · audit (author or owner)

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