Skip to content

Commit fc65603

Browse files
committed
refactor: align perps bottom sheet naming and polish perps UI
1 parent 305ec36 commit fc65603

13 files changed

+61
-51
lines changed

app/src/main/java/one/mixin/android/ui/home/web3/trade/ClosedPositionItem.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,13 @@ fun ClosedPositionItem(
116116
}
117117
Text(
118118
text = sideText,
119-
fontSize = 14.sp,
119+
fontSize = 16.sp,
120120
color = MixinAppTheme.colors.textPrimary,
121121
)
122122
Spacer(modifier = Modifier.width(6.dp))
123123
Text(
124124
text = displaySymbol,
125-
fontSize = 14.sp,
125+
fontSize = 16.sp,
126126
color = MixinAppTheme.colors.textPrimary,
127127
)
128128
Spacer(modifier = Modifier.width(6.dp))
@@ -140,7 +140,7 @@ fun ClosedPositionItem(
140140
Spacer(modifier = Modifier.height(4.dp))
141141
Text(
142142
text = "${(quantity.toBigDecimalOrNull()?: BigDecimal.ZERO).abs().stripTrailingZeros().toPlainString()} ${position.tokenSymbol ?: ""}",
143-
fontSize = 12.sp,
143+
fontSize = 14.sp,
144144
color = MixinAppTheme.colors.textAssist
145145
)
146146
}
@@ -151,7 +151,7 @@ fun ClosedPositionItem(
151151
) {
152152
Text(
153153
text = "${if (isProfit) "+" else "-"}$fiatSymbol${pnl.abs().multiply(fiatRate).priceFormat()}",
154-
fontSize = 14.sp,
154+
fontSize = 16.sp,
155155
color = pnlColor
156156
)
157157
}

app/src/main/java/one/mixin/android/ui/home/web3/trade/TradeFragment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ import one.mixin.android.ui.common.BaseFragment
7171
import one.mixin.android.ui.home.web3.GasCheckBottomSheetDialogFragment
7272
import one.mixin.android.ui.home.web3.trade.perps.AllPerpsMarketsFragment
7373
import one.mixin.android.ui.home.web3.trade.perps.AllPositionsFragment
74-
import one.mixin.android.ui.home.web3.trade.perps.PerpetualGuideFragment
74+
import one.mixin.android.ui.home.web3.trade.perps.PerpetualGuideBottomSheetDialogFragment
7575
import one.mixin.android.ui.home.web3.trade.perps.PerpsActivity
7676
import one.mixin.android.ui.home.web3.trade.perps.PerpsMarketListBottomSheetDialogFragment
7777
import one.mixin.android.ui.home.web3.trade.perps.PositionDetailFragment
@@ -371,8 +371,8 @@ class TradeFragment : BaseFragment() {
371371
},
372372
onShowTradingGuide = {
373373
this@apply.hideKeyboard()
374-
PerpetualGuideFragment.newInstance()
375-
.show(parentFragmentManager, PerpetualGuideFragment.TAG)
374+
PerpetualGuideBottomSheetDialogFragment.newInstance()
375+
.show(parentFragmentManager, PerpetualGuideBottomSheetDialogFragment.TAG)
376376
},
377377
pop = {
378378
navigateUp(navController)

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/AllPositionsFragment.kt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -159,14 +159,9 @@ class AllPositionsFragment : BaseFragment(R.layout.fragment_all_closed_positions
159159

160160
positionsRv.layoutManager = LinearLayoutManager(requireContext())
161161
emptyView.helpAction.setOnClickListener {
162-
parentFragmentManager.beginTransaction()
163-
.add(
164-
android.R.id.content,
165-
PerpetualGuideFragment.newInstance(initialTab = PerpetualGuideFragment.TAB_OVERVIEW),
166-
PerpetualGuideFragment.TAG
167-
)
168-
.addToBackStack(null)
169-
.commit()
162+
PerpetualGuideBottomSheetDialogFragment.newInstance(
163+
initialTab = PerpetualGuideBottomSheetDialogFragment.TAB_OVERVIEW
164+
).show(parentFragmentManager, PerpetualGuideBottomSheetDialogFragment.TAG)
170165
}
171166
}
172167

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/OpenPositionItem.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,13 +86,13 @@ fun OpenPositionItem(
8686
}
8787
Text(
8888
text = sideText,
89-
fontSize = 14.sp,
89+
fontSize = 16.sp,
9090
color = MixinAppTheme.colors.textPrimary,
9191
)
9292
Spacer(modifier = Modifier.width(6.dp))
9393
Text(
9494
text = displaySymbol,
95-
fontSize = 14.sp,
95+
fontSize = 16.sp,
9696
color = MixinAppTheme.colors.textPrimary
9797
)
9898
Spacer(modifier = Modifier.width(6.dp))
@@ -110,7 +110,7 @@ fun OpenPositionItem(
110110
Spacer(modifier = Modifier.height(4.dp))
111111
Text(
112112
text = "$quantity ${position.tokenSymbol ?: ""}",
113-
fontSize = 12.sp,
113+
fontSize = 14.sp,
114114
color = MixinAppTheme.colors.textAssist
115115
)
116116
}
@@ -119,7 +119,7 @@ fun OpenPositionItem(
119119
Column(horizontalAlignment = Alignment.End) {
120120
Text(
121121
text = "${fiatSymbol}${positionValue.multiply(fiatRate).priceFormat()}",
122-
fontSize = 14.sp,
122+
fontSize = 16.sp,
123123
color = MixinAppTheme.colors.textPrimary
124124
)
125125
Spacer(modifier = Modifier.height(2.dp))
@@ -140,7 +140,7 @@ fun OpenPositionItem(
140140
}
141141
Text(
142142
text = "${if (unrealizedPnl >= BigDecimal.ZERO) "+" else "-"}$fiatSymbol${unrealizedPnl.abs().multiply(fiatRate).priceFormat()}",
143-
fontSize = 12.sp,
143+
fontSize = 14.sp,
144144
color = pnlColor
145145
)
146146
}

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/OpenPositionPage.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -481,8 +481,8 @@ fun OpenPositionPage(
481481
.size(12.dp)
482482
.clickable {
483483
val activity = context as? FragmentActivity ?: return@clickable
484-
PerpetualGuideFragment.newInstance(PerpetualGuideFragment.TAB_POSITION)
485-
.show(activity.supportFragmentManager, PerpetualGuideFragment.TAG)
484+
PerpetualGuideBottomSheetDialogFragment.newInstance(PerpetualGuideBottomSheetDialogFragment.TAB_POSITION)
485+
.show(activity.supportFragmentManager, PerpetualGuideBottomSheetDialogFragment.TAG)
486486
},
487487
tint = MixinAppTheme.colors.textAssist
488488
)

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpetualContent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ fun PerpetualContent(
304304
) {
305305
Text(
306306
text = stringResource(R.string.Perpetual_Markets),
307-
fontSize = 16.sp,
307+
fontSize = 14.sp,
308308
color = MixinAppTheme.colors.textPrimary,
309309
)
310310
Icon(
@@ -381,7 +381,7 @@ fun PerpetualContent(
381381
) {
382382
Text(
383383
text = stringResource(R.string.perps_activity),
384-
fontSize = 16.sp,
384+
fontSize = 14.sp,
385385
color = MixinAppTheme.colors.textPrimary,
386386
)
387387
Icon(

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpetualGuideFragment.kt renamed to app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpetualGuideBottomSheetDialogFragment.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,10 @@ import one.mixin.android.ui.common.MixinComposeBottomSheetDialogFragment
1818
import one.mixin.android.util.SystemUIManager
1919

2020
@AndroidEntryPoint
21-
class PerpetualGuideFragment : MixinComposeBottomSheetDialogFragment() {
21+
class PerpetualGuideBottomSheetDialogFragment : MixinComposeBottomSheetDialogFragment() {
2222

2323
companion object {
24-
const val TAG = "PerpetualGuideFragment"
24+
const val TAG = "PerpetualGuideBottomSheetDialogFragment"
2525
private const val ARGS_INITIAL_TAB = "args_initial_tab"
2626

2727
const val TAB_OVERVIEW = 0
@@ -30,7 +30,7 @@ class PerpetualGuideFragment : MixinComposeBottomSheetDialogFragment() {
3030
const val TAB_LEVERAGE = 3
3131
const val TAB_POSITION = 4
3232

33-
fun newInstance(initialTab: Int = TAB_OVERVIEW) = PerpetualGuideFragment().apply {
33+
fun newInstance(initialTab: Int = TAB_OVERVIEW) = PerpetualGuideBottomSheetDialogFragment().apply {
3434
arguments = Bundle().apply {
3535
putInt(ARGS_INITIAL_TAB, initialTab)
3636
}

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpetualGuidePage.kt

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ data class AdjusterConfig(
8080

8181
@Composable
8282
fun PerpetualGuidePage(
83-
initialTab: Int = PerpetualGuideFragment.TAB_OVERVIEW,
83+
initialTab: Int = PerpetualGuideBottomSheetDialogFragment.TAB_OVERVIEW,
8484
pop: () -> Unit,
8585
) {
8686
val coroutineScope = rememberCoroutineScope()
@@ -923,16 +923,15 @@ private fun buildOrderValueText(
923923
orderValueUsdt: Int,
924924
localSolPrice: BigDecimal?,
925925
): String {
926-
val usdtText = "${formatGuideInt(orderValueUsdt)} USDT"
927-
val solPrice = localSolPrice ?: return "$usdtText (-- SOL)"
926+
val solPrice = localSolPrice ?: return "-- SOL"
928927
if (solPrice <= BigDecimal.ZERO) {
929-
return "$usdtText (-- SOL)"
928+
return "-- SOL"
930929
}
931930
val solAmount = BigDecimal(orderValueUsdt.toString())
932931
.divide(solPrice, 2, RoundingMode.HALF_UP)
933932
.stripTrailingZeros()
934933
.toPlainString()
935-
return "$usdtText ($solAmount SOL)"
934+
return "$solAmount SOL"
936935
}
937936

938937
private fun formatPercent(percent: Float): String {

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpsCloseBottomSheetDialogFragment.kt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ import one.mixin.android.extension.screenHeight
6565
import one.mixin.android.extension.withArgs
6666
import one.mixin.android.ui.common.BottomSheetViewModel
6767
import one.mixin.android.ui.common.MixinComposeBottomSheetDialogFragment
68+
import one.mixin.android.ui.common.VerifyBottomSheetDialogFragment
6869
import one.mixin.android.ui.home.web3.components.ActionBottom
6970
import one.mixin.android.ui.tip.wc.compose.ItemWalletContent
7071
import one.mixin.android.ui.wallet.ItemUserContent
@@ -502,7 +503,7 @@ class PerpsCloseBottomSheetDialogFragment : MixinComposeBottomSheetDialogFragmen
502503
cancelTitle = stringResource(R.string.Cancel),
503504
confirmTitle = stringResource(id = R.string.Retry),
504505
cancelAction = { dismiss() },
505-
confirmAction = { closePosition() },
506+
confirmAction = { showVerifyPinThenClose() },
506507
)
507508
}
508509

@@ -512,7 +513,7 @@ class PerpsCloseBottomSheetDialogFragment : MixinComposeBottomSheetDialogFragmen
512513
cancelTitle = stringResource(R.string.Cancel),
513514
confirmTitle = stringResource(id = R.string.Confirm),
514515
cancelAction = { dismiss() },
515-
confirmAction = { closePosition() },
516+
confirmAction = { showVerifyPinThenClose() },
516517
)
517518
}
518519

@@ -539,7 +540,19 @@ class PerpsCloseBottomSheetDialogFragment : MixinComposeBottomSheetDialogFragmen
539540
super.onDismiss(dialog)
540541
}
541542

543+
private fun showVerifyPinThenClose() {
544+
VerifyBottomSheetDialogFragment.newInstance(
545+
title = getString(R.string.Verify_PIN),
546+
disableBiometric = true,
547+
).apply {
548+
disableToast = true
549+
}.setOnPinSuccess {
550+
closePosition()
551+
}.showNow(parentFragmentManager, VerifyBottomSheetDialogFragment.TAG)
552+
}
553+
542554
private fun closePosition() {
555+
errorInfo = null
543556
step = Step.Sending
544557
viewModel.closePerpsOrder(
545558
positionId = positionId,

app/src/main/java/one/mixin/android/ui/home/web3/trade/perps/PerpsConfirmBottomSheetDialogFragment.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -496,8 +496,9 @@ class PerpsConfirmBottomSheetDialogFragment : MixinComposeBottomSheetDialogFragm
496496
modifier = Modifier
497497
.size(12.dp)
498498
.clickable {
499-
PerpetualGuideFragment.newInstance(PerpetualGuideFragment.TAB_POSITION)
500-
.show(parentFragmentManager, PerpetualGuideFragment.TAG)
499+
PerpetualGuideBottomSheetDialogFragment.newInstance(
500+
PerpetualGuideBottomSheetDialogFragment.TAB_POSITION
501+
).show(parentFragmentManager, PerpetualGuideBottomSheetDialogFragment.TAG)
501502
},
502503
tint = MixinAppTheme.colors.textAssist
503504
)

0 commit comments

Comments
 (0)