Skip to content

Consolidate Android stake flow with iOS parity#178

Merged
DRadmir merged 4 commits intomainfrom
93-consolidate-stake-flow
Apr 22, 2026
Merged

Consolidate Android stake flow with iOS parity#178
DRadmir merged 4 commits intomainfrom
93-consolidate-stake-flow

Conversation

@DRadmir
Copy link
Copy Markdown
Contributor

@DRadmir DRadmir commented Apr 21, 2026

Stake scene:

  • Fix rounded top corners on APR card via dynamic ListPosition in itemsPositioned-based section extractor
  • Tint APR value green and add info button with StakeAprInfo sheet
  • Add Delegations section header and nav-bar info button opening chain-specific docs URL via new StakeChain.toGemStakeChain()
  • Route AwaitingWithdrawal delegation taps straight to Confirm with full balance, matching iOS navigationDestination shortcut

Delegation scene:

  • Move delegation status from inline title badge into colored subtitle, matching iOS DelegationView layout
  • Make Validator cell tappable when explorer URL resolves, opening it via LocalUriHandler (parity with iOS SafariNavigationLink)
  • Skip Amount scene on Unstake for chains where canChangeAmountOnUnstake is false, going directly to Confirm

Close: #93

DRadmir added 2 commits April 21, 2026 16:12
Stake scene:
- Fix rounded top corners on APR card via dynamic ListPosition in
  itemsPositioned-based section extractor
- Tint APR value green and add info button with StakeAprInfo sheet
- Add Delegations section header and nav-bar info button opening
  chain-specific docs URL via new StakeChain.toGemStakeChain()
- Route AwaitingWithdrawal delegation taps straight to Confirm with
  full balance, matching iOS navigationDestination shortcut

Delegation scene:
- Move delegation status from inline title badge into colored
  subtitle, matching iOS DelegationView layout
- Make Validator cell tappable when explorer URL resolves, opening
  it via LocalUriHandler (parity with iOS SafariNavigationLink)
- Skip Amount scene on Unstake for chains where
  canChangeAmountOnUnstake is false, going directly to Confirm
Remove StakeUndelegate and StakeRedelegate from the prefillAmount
branch so the Amount scene field stays empty and editable, matching
iOS where recipientData().amount is nil for these actions. Max button
still fills the full delegation balance.

StakeWithdraw is left in the prefill branch defensively; the Withdraw
flow bypasses the Amount scene on both platforms today.
@DRadmir DRadmir self-assigned this Apr 21, 2026
actions = {
assetInfo.stakeChain?.let { stakeChain ->
IconButton(onClick = {
uriHandler.open(context, AppUrl.docs(DocsUrl.Staking(stakeChain.toGemStakeChain())))
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

move to view model url

IconButton(onClick = {
uriHandler.open(context, AppUrl.docs(DocsUrl.Staking(stakeChain.toGemStakeChain())))
}) {
Icon(imageVector = Icons.Outlined.Info, contentDescription = "stake_info")
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Suggested change
Icon(imageVector = Icons.Outlined.Info, contentDescription = "stake_info")
Icon(imageVector = Icons.Outlined.Info, contentDescription = null)

DRadmir added 2 commits April 22, 2026 23:20
Expose stakeInfoUrl as a StateFlow on StakeViewModel, matching the
iOS StakeSceneViewModel.stakeInfoUrl computed property. StakeScene
now receives the resolved URL and no longer depends on AppUrl,
DocsUrl, or StakeChain mapping. Drop the non-localized content
description on the nav-bar info icon since IconButton already
carries the clickable semantic.
@DRadmir DRadmir merged commit 86078cf into main Apr 22, 2026
3 checks passed
@DRadmir DRadmir deleted the 93-consolidate-stake-flow branch April 22, 2026 18:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate Stake flow

2 participants