Skip to content

Commit b66f291

Browse files
ovitrifclaude
andcommitted
fix: show coming soon within send sheet
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent 97fe333 commit b66f291

2 files changed

Lines changed: 66 additions & 1 deletion

File tree

app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,36 @@
11
package to.bitkit.ui.sheets
22

3+
import androidx.compose.foundation.Image
34
import androidx.compose.foundation.layout.Column
45
import androidx.compose.foundation.layout.fillMaxSize
56
import androidx.compose.foundation.layout.fillMaxWidth
67
import androidx.compose.foundation.layout.imePadding
78
import androidx.compose.foundation.layout.navigationBarsPadding
9+
import androidx.compose.foundation.layout.padding
810
import androidx.compose.runtime.Composable
911
import androidx.compose.runtime.LaunchedEffect
1012
import androidx.compose.runtime.getValue
1113
import androidx.compose.runtime.remember
1214
import androidx.compose.ui.Modifier
1315
import androidx.compose.ui.platform.testTag
16+
import androidx.compose.ui.res.painterResource
17+
import androidx.compose.ui.res.stringResource
18+
import androidx.compose.ui.unit.dp
1419
import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
1520
import androidx.lifecycle.compose.collectAsStateWithLifecycle
1621
import androidx.navigation.compose.NavHost
1722
import androidx.navigation.compose.rememberNavController
1823
import androidx.navigation.toRoute
1924
import kotlinx.serialization.Serializable
25+
import to.bitkit.R
2026
import to.bitkit.models.NewTransactionSheetDetails
2127
import to.bitkit.models.NewTransactionSheetDirection
2228
import to.bitkit.models.NewTransactionSheetType
29+
import to.bitkit.ui.components.BodyM
30+
import to.bitkit.ui.components.Display
31+
import to.bitkit.ui.components.PrimaryButton
32+
import to.bitkit.ui.components.VerticalSpacer
33+
import to.bitkit.ui.scaffold.SheetTopBar
2334
import to.bitkit.ui.screens.scanner.QrScanningScreen
2435
import to.bitkit.ui.screens.wallets.send.AddTagScreen
2536
import to.bitkit.ui.screens.wallets.send.PIN_CHECK_RESULT_KEY
@@ -39,8 +50,10 @@ import to.bitkit.ui.screens.wallets.withdraw.WithdrawErrorScreen
3950
import to.bitkit.ui.settings.support.SupportScreen
4051
import to.bitkit.ui.shared.modifiers.sheetHeight
4152
import to.bitkit.ui.shared.util.gradientBackground
53+
import to.bitkit.ui.theme.Colors
4254
import to.bitkit.ui.utils.composableWithDefaultTransitions
4355
import to.bitkit.ui.utils.navigationWithDefaultTransitions
56+
import to.bitkit.ui.utils.withAccent
4457
import to.bitkit.viewmodels.AppViewModel
4558
import to.bitkit.viewmodels.SendEffect
4659
import to.bitkit.viewmodels.SendEvent
@@ -88,6 +101,7 @@ fun SendSheet(
88101
is SendEffect.NavigateToWithdrawError -> navController.navigate(SendRoute.WithdrawError)
89102
is SendEffect.NavigateToFee -> navController.navigate(SendRoute.FeeRate)
90103
is SendEffect.NavigateToFeeCustom -> navController.navigate(SendRoute.FeeCustom)
104+
is SendEffect.NavigateToComingSoon -> navController.navigate(SendRoute.ComingSoon)
91105
}
92106
}
93107
}
@@ -266,6 +280,11 @@ fun SendSheet(
266280
}
267281
)
268282
}
283+
composableWithDefaultTransitions<SendRoute.ComingSoon> {
284+
ComingSoonSheetContent(
285+
onBackClick = { navController.popBackStack() }
286+
)
287+
}
269288
composableWithDefaultTransitions<SendRoute.Error> {
270289
val route = it.toRoute<SendRoute.Error>()
271290
SendErrorScreen(
@@ -337,6 +356,51 @@ sealed interface SendRoute {
337356
@Serializable
338357
data object Success : SendRoute
339358

359+
@Serializable
360+
data object ComingSoon : SendRoute
361+
340362
@Serializable
341363
data class Error(val errorMessage: String) : SendRoute
342364
}
365+
366+
@Composable
367+
private fun ComingSoonSheetContent(
368+
onBackClick: () -> Unit,
369+
) {
370+
Column(
371+
modifier = Modifier
372+
.fillMaxSize()
373+
.gradientBackground()
374+
.navigationBarsPadding()
375+
) {
376+
SheetTopBar(
377+
titleText = stringResource(R.string.coming_soon__title),
378+
onBack = onBackClick
379+
)
380+
381+
Column(
382+
modifier = Modifier.padding(horizontal = 32.dp)
383+
) {
384+
Image(
385+
painter = painterResource(R.drawable.img_cronometer),
386+
contentDescription = null,
387+
modifier = Modifier
388+
.fillMaxWidth()
389+
.weight(1f)
390+
)
391+
392+
Display(
393+
text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand),
394+
color = Colors.White
395+
)
396+
VerticalSpacer(8.dp)
397+
BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64)
398+
VerticalSpacer(54.dp)
399+
PrimaryButton(
400+
text = stringResource(R.string.coming_soon__button),
401+
onClick = onBackClick,
402+
)
403+
VerticalSpacer(16.dp)
404+
}
405+
}
406+
}

app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ class AppViewModel @Inject constructor(
649649
SendEvent.ClearPayConfirmation -> _sendUiState.update { s -> s.copy(shouldConfirmPay = false) }
650650
SendEvent.BackToAmount -> setSendEffect(SendEffect.PopBack(SendRoute.Amount))
651651
SendEvent.NavToAddress -> setSendEffect(SendEffect.NavigateToAddress)
652-
SendEvent.Contacts -> mainScreenEffect(MainScreenEffect.Navigate(Routes.Contacts))
652+
SendEvent.Contacts -> setSendEffect(SendEffect.NavigateToComingSoon)
653653
}
654654
}
655655
}
@@ -2085,6 +2085,7 @@ sealed class SendEffect {
20852085
data object NavigateToQuickPay : SendEffect()
20862086
data object NavigateToFee : SendEffect()
20872087
data object NavigateToFeeCustom : SendEffect()
2088+
data object NavigateToComingSoon : SendEffect()
20882089
data class PaymentSuccess(val sheet: NewTransactionSheetDetails? = null) : SendEffect()
20892090
}
20902091

0 commit comments

Comments
 (0)