From 97fe33355aca4e93220c17f941d9761d29a5cc97 Mon Sep 17 00:00:00 2001 From: "claude[bot]" <41898282+claude[bot]@users.noreply.github.com> Date: Thu, 15 Jan 2026 12:42:55 +0000 Subject: [PATCH 1/5] =?UTF-8?q?feat:=20nav=20to=20coming=20soon=20from=20s?= =?UTF-8?q?end=20=E2=86=92=20contacts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt | 4 +--- app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt index ea965d6a6..26e487a9d 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendRecipientScreen.kt @@ -258,9 +258,7 @@ fun SendRecipientScreen( galleryLauncher.launch("image/*") } }, - onClickContact = { - app?.toast(AppError("Coming soon: Contact")) - }, + onClickContact = { onEvent(SendEvent.Contacts) }, onClickPaste = { onEvent(SendEvent.Paste) }, onClickManual = { onEvent(SendEvent.EnterManually) }, cameraPermissionGranted = cameraPermissionState.status.isGranted, diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index afab19013..407e367e3 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -649,6 +649,7 @@ class AppViewModel @Inject constructor( SendEvent.ClearPayConfirmation -> _sendUiState.update { s -> s.copy(shouldConfirmPay = false) } SendEvent.BackToAmount -> setSendEffect(SendEffect.PopBack(SendRoute.Amount)) SendEvent.NavToAddress -> setSendEffect(SendEffect.NavigateToAddress) + SendEvent.Contacts -> mainScreenEffect(MainScreenEffect.Navigate(Routes.Contacts)) } } } @@ -2124,6 +2125,7 @@ sealed interface SendEvent { data object ClearPayConfirmation : SendEvent data object BackToAmount : SendEvent data object NavToAddress : SendEvent + data object Contacts : SendEvent } sealed interface LnurlParams { From b66f29113a75646d35da72022a56082c66647072 Mon Sep 17 00:00:00 2001 From: Ovi Trif Date: Thu, 15 Jan 2026 23:42:43 +0100 Subject: [PATCH 2/5] fix: show coming soon within send sheet Co-Authored-By: Claude Opus 4.5 --- .../java/to/bitkit/ui/sheets/SendSheet.kt | 64 +++++++++++++++++++ .../java/to/bitkit/viewmodels/AppViewModel.kt | 3 +- 2 files changed, 66 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt index 5c4f49e59..b6c572792 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt @@ -1,25 +1,36 @@ package to.bitkit.ui.sheets +import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.unit.dp import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.compose.NavHost import androidx.navigation.compose.rememberNavController import androidx.navigation.toRoute import kotlinx.serialization.Serializable +import to.bitkit.R import to.bitkit.models.NewTransactionSheetDetails import to.bitkit.models.NewTransactionSheetDirection import to.bitkit.models.NewTransactionSheetType +import to.bitkit.ui.components.BodyM +import to.bitkit.ui.components.Display +import to.bitkit.ui.components.PrimaryButton +import to.bitkit.ui.components.VerticalSpacer +import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.screens.scanner.QrScanningScreen import to.bitkit.ui.screens.wallets.send.AddTagScreen import to.bitkit.ui.screens.wallets.send.PIN_CHECK_RESULT_KEY @@ -39,8 +50,10 @@ import to.bitkit.ui.screens.wallets.withdraw.WithdrawErrorScreen import to.bitkit.ui.settings.support.SupportScreen import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.composableWithDefaultTransitions import to.bitkit.ui.utils.navigationWithDefaultTransitions +import to.bitkit.ui.utils.withAccent import to.bitkit.viewmodels.AppViewModel import to.bitkit.viewmodels.SendEffect import to.bitkit.viewmodels.SendEvent @@ -88,6 +101,7 @@ fun SendSheet( is SendEffect.NavigateToWithdrawError -> navController.navigate(SendRoute.WithdrawError) is SendEffect.NavigateToFee -> navController.navigate(SendRoute.FeeRate) is SendEffect.NavigateToFeeCustom -> navController.navigate(SendRoute.FeeCustom) + is SendEffect.NavigateToComingSoon -> navController.navigate(SendRoute.ComingSoon) } } } @@ -266,6 +280,11 @@ fun SendSheet( } ) } + composableWithDefaultTransitions { + ComingSoonSheetContent( + onBackClick = { navController.popBackStack() } + ) + } composableWithDefaultTransitions { val route = it.toRoute() SendErrorScreen( @@ -337,6 +356,51 @@ sealed interface SendRoute { @Serializable data object Success : SendRoute + @Serializable + data object ComingSoon : SendRoute + @Serializable data class Error(val errorMessage: String) : SendRoute } + +@Composable +private fun ComingSoonSheetContent( + onBackClick: () -> Unit, +) { + Column( + modifier = Modifier + .fillMaxSize() + .gradientBackground() + .navigationBarsPadding() + ) { + SheetTopBar( + titleText = stringResource(R.string.coming_soon__title), + onBack = onBackClick + ) + + Column( + modifier = Modifier.padding(horizontal = 32.dp) + ) { + Image( + painter = painterResource(R.drawable.img_cronometer), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .weight(1f) + ) + + Display( + text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand), + color = Colors.White + ) + VerticalSpacer(8.dp) + BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64) + VerticalSpacer(54.dp) + PrimaryButton( + text = stringResource(R.string.coming_soon__button), + onClick = onBackClick, + ) + VerticalSpacer(16.dp) + } + } +} diff --git a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt index 407e367e3..1ab32133b 100644 --- a/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/AppViewModel.kt @@ -649,7 +649,7 @@ class AppViewModel @Inject constructor( SendEvent.ClearPayConfirmation -> _sendUiState.update { s -> s.copy(shouldConfirmPay = false) } SendEvent.BackToAmount -> setSendEffect(SendEffect.PopBack(SendRoute.Amount)) SendEvent.NavToAddress -> setSendEffect(SendEffect.NavigateToAddress) - SendEvent.Contacts -> mainScreenEffect(MainScreenEffect.Navigate(Routes.Contacts)) + SendEvent.Contacts -> setSendEffect(SendEffect.NavigateToComingSoon) } } } @@ -2085,6 +2085,7 @@ sealed class SendEffect { data object NavigateToQuickPay : SendEffect() data object NavigateToFee : SendEffect() data object NavigateToFeeCustom : SendEffect() + data object NavigateToComingSoon : SendEffect() data class PaymentSuccess(val sheet: NewTransactionSheetDetails? = null) : SendEffect() } From c320557830ef80c16ab51d32211e7a6d57c3accd Mon Sep 17 00:00:00 2001 From: Ovi Trif Date: Fri, 16 Jan 2026 11:33:15 +0100 Subject: [PATCH 3/5] feat: coming soon sheet content preview & cleanup --- .../ui/sheets/ComingSoonSheetContent.kt | 78 +++++++++++++++++++ .../java/to/bitkit/ui/sheets/SendSheet.kt | 57 +------------- 2 files changed, 79 insertions(+), 56 deletions(-) create mode 100644 app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt diff --git a/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt b/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt new file mode 100644 index 000000000..cacd8cdfc --- /dev/null +++ b/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt @@ -0,0 +1,78 @@ +package to.bitkit.ui.sheets + +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.res.stringResource +import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.dp +import to.bitkit.R +import to.bitkit.ui.components.BodyM +import to.bitkit.ui.components.BottomSheetPreview +import to.bitkit.ui.components.Display +import to.bitkit.ui.components.PrimaryButton +import to.bitkit.ui.components.VerticalSpacer +import to.bitkit.ui.scaffold.SheetTopBar +import to.bitkit.ui.shared.modifiers.sheetHeight +import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.theme.AppThemeSurface +import to.bitkit.ui.theme.Colors +import to.bitkit.ui.utils.withAccent + +@Composable +fun ComingSoonSheetContent( + onBack: () -> Unit, + modifier: Modifier = Modifier, +) { + Column( + modifier = modifier + .fillMaxSize() + .gradientBackground() + .navigationBarsPadding() + .testTag("ComingSoonSheet") + ) { + SheetTopBar(titleText = stringResource(R.string.coming_soon__title), onBack = onBack) + Column( + modifier = Modifier.padding(horizontal = 32.dp) + ) { + Image( + painter = painterResource(R.drawable.img_cronometer), + contentDescription = null, + modifier = Modifier + .fillMaxWidth() + .weight(1f) + ) + Display( + text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand), + color = Colors.White, + ) + VerticalSpacer(8.dp) + BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64) + VerticalSpacer(54.dp) + PrimaryButton( + text = stringResource(R.string.coming_soon__button), + onClick = onBack, + ) + } + } +} + +@Preview(showSystemUi = true) +@Composable +private fun Preview() { + AppThemeSurface { + BottomSheetPreview { + ComingSoonSheetContent( + onBack = {}, + modifier = Modifier.sheetHeight(), + ) + } + } +} diff --git a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt index b6c572792..c14d0aea8 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt @@ -1,36 +1,25 @@ package to.bitkit.ui.sheets -import androidx.compose.foundation.Image import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.imePadding import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag -import androidx.compose.ui.res.painterResource -import androidx.compose.ui.res.stringResource -import androidx.compose.ui.unit.dp import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.navigation.compose.NavHost import androidx.navigation.compose.rememberNavController import androidx.navigation.toRoute import kotlinx.serialization.Serializable -import to.bitkit.R import to.bitkit.models.NewTransactionSheetDetails import to.bitkit.models.NewTransactionSheetDirection import to.bitkit.models.NewTransactionSheetType -import to.bitkit.ui.components.BodyM -import to.bitkit.ui.components.Display -import to.bitkit.ui.components.PrimaryButton -import to.bitkit.ui.components.VerticalSpacer -import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.screens.scanner.QrScanningScreen import to.bitkit.ui.screens.wallets.send.AddTagScreen import to.bitkit.ui.screens.wallets.send.PIN_CHECK_RESULT_KEY @@ -50,10 +39,8 @@ import to.bitkit.ui.screens.wallets.withdraw.WithdrawErrorScreen import to.bitkit.ui.settings.support.SupportScreen import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.gradientBackground -import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.composableWithDefaultTransitions import to.bitkit.ui.utils.navigationWithDefaultTransitions -import to.bitkit.ui.utils.withAccent import to.bitkit.viewmodels.AppViewModel import to.bitkit.viewmodels.SendEffect import to.bitkit.viewmodels.SendEvent @@ -282,7 +269,7 @@ fun SendSheet( } composableWithDefaultTransitions { ComingSoonSheetContent( - onBackClick = { navController.popBackStack() } + onBack = { navController.popBackStack() } ) } composableWithDefaultTransitions { @@ -362,45 +349,3 @@ sealed interface SendRoute { @Serializable data class Error(val errorMessage: String) : SendRoute } - -@Composable -private fun ComingSoonSheetContent( - onBackClick: () -> Unit, -) { - Column( - modifier = Modifier - .fillMaxSize() - .gradientBackground() - .navigationBarsPadding() - ) { - SheetTopBar( - titleText = stringResource(R.string.coming_soon__title), - onBack = onBackClick - ) - - Column( - modifier = Modifier.padding(horizontal = 32.dp) - ) { - Image( - painter = painterResource(R.drawable.img_cronometer), - contentDescription = null, - modifier = Modifier - .fillMaxWidth() - .weight(1f) - ) - - Display( - text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand), - color = Colors.White - ) - VerticalSpacer(8.dp) - BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64) - VerticalSpacer(54.dp) - PrimaryButton( - text = stringResource(R.string.coming_soon__button), - onClick = onBackClick, - ) - VerticalSpacer(16.dp) - } - } -} From 4c11d59e2c13f8269c5b468bd81c93700854ad30 Mon Sep 17 00:00:00 2001 From: Ovi Trif Date: Fri, 16 Jan 2026 11:35:06 +0100 Subject: [PATCH 4/5] chore: bump version to 168 --- app/build.gradle.kts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 7a4c66e35..33245a324 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -46,8 +46,8 @@ android { applicationId = "to.bitkit" minSdk = 28 targetSdk = 36 - versionCode = 163 - versionName = "2.0.0-rc.1" + versionCode = 168 + versionName = "2.0.0-rc.2" testInstrumentationRunner = "to.bitkit.test.HiltTestRunner" vectorDrawables { useSupportLibrary = true From cdb1b1b75345c1b23927df85243d57b66d6dc29b Mon Sep 17 00:00:00 2001 From: Ovi Trif Date: Fri, 16 Jan 2026 14:53:34 +0100 Subject: [PATCH 5/5] feat: coming soon nav on assign tap #627 --- .../ui/screens/common/ComingSoonScreen.kt | 14 ++++++---- .../wallets/activity/ActivityDetailScreen.kt | 16 ++++++++++- .../components/ActivityAddTagSheet.kt | 7 +++-- ...SoonSheetContent.kt => ComingSoonSheet.kt} | 27 +++++++++++++++++-- .../java/to/bitkit/ui/sheets/SendSheet.kt | 3 ++- 5 files changed, 54 insertions(+), 13 deletions(-) rename app/src/main/java/to/bitkit/ui/sheets/{ComingSoonSheetContent.kt => ComingSoonSheet.kt} (75%) diff --git a/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt b/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt index 4cdc6035b..51d2d468f 100644 --- a/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/common/ComingSoonScreen.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier +import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview @@ -17,7 +18,7 @@ import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.DrawerNavIcon -import to.bitkit.ui.scaffold.ScreenColumn +import to.bitkit.ui.shared.util.screen import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -26,14 +27,18 @@ import to.bitkit.ui.utils.withAccent fun ComingSoonScreen( onWalletOverviewClick: () -> Unit, onBackClick: () -> Unit, + modifier: Modifier = Modifier, ) { - ScreenColumn { + Column( + modifier = modifier + .screen() + .testTag("ComingSoonScreen") + ) { AppTopBar( titleText = stringResource(R.string.coming_soon__title), onBackClick = onBackClick, actions = { DrawerNavIcon() }, ) - Column( modifier = Modifier.padding(horizontal = 32.dp) ) { @@ -44,10 +49,9 @@ fun ComingSoonScreen( .fillMaxWidth() .weight(1f) ) - Display( text = stringResource(R.string.coming_soon__headline).withAccent(accentColor = Colors.Brand), - color = Colors.White + color = Colors.White, ) VerticalSpacer(8.dp) BodyM(text = stringResource(R.string.coming_soon__description), color = Colors.White64) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/ActivityDetailScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/ActivityDetailScreen.kt index 63886cd13..8d0efc5cf 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/ActivityDetailScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/ActivityDetailScreen.kt @@ -78,6 +78,7 @@ import to.bitkit.ui.screens.wallets.activity.components.ActivityIcon import to.bitkit.ui.shared.modifiers.clickableAlpha import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.sheets.BoostTransactionSheet +import to.bitkit.ui.sheets.ComingSoonSheet import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.copyToClipboard @@ -168,6 +169,7 @@ fun ActivityDetailScreen( val tags by detailViewModel.tags.collectAsStateWithLifecycle() val boostSheetVisible by detailViewModel.boostSheetVisible.collectAsStateWithLifecycle() var showAddTagSheet by remember { mutableStateOf(false) } + var showAssignSheet by remember { mutableStateOf(false) } var isCpfpChild by remember { mutableStateOf(false) } var boostTxDoesExist by remember { mutableStateOf>(emptyMap()) } @@ -217,6 +219,7 @@ fun ActivityDetailScreen( tags = tags, onRemoveTag = { detailViewModel.removeTag(it) }, onAddTagClick = { showAddTagSheet = true }, + onAssignClick = { showAssignSheet = true }, onClickBoost = detailViewModel::onClickBoost, onExploreClick = onExploreClick, onChannelClick = onChannelClick, @@ -282,6 +285,13 @@ fun ActivityDetailScreen( ) } } + + if (showAssignSheet) { + ComingSoonSheet( + onWalletOverviewClick = onCloseClick, + onBack = { showAssignSheet = false }, + ) + } } } } @@ -294,6 +304,7 @@ private fun ActivityDetailContent( tags: List, onRemoveTag: (String) -> Unit, onAddTagClick: () -> Unit, + onAssignClick: () -> Unit, onClickBoost: () -> Unit, onExploreClick: (String) -> Unit, onChannelClick: ((String) -> Unit)?, @@ -571,7 +582,7 @@ private fun ActivityDetailContent( PrimaryButton( text = stringResource(R.string.wallet__activity_assign), size = ButtonSize.Small, - onClick = { /* TODO: Implement assign functionality */ }, + onClick = onAssignClick, enabled = !isSelfSend, icon = { Icon( @@ -847,6 +858,7 @@ private fun PreviewLightningSent() { tags = listOf("Lunch", "Drinks"), onRemoveTag = {}, onAddTagClick = {}, + onAssignClick = {}, onExploreClick = {}, onChannelClick = null, onCopy = {}, @@ -877,6 +889,7 @@ private fun PreviewOnchain() { tags = emptyList(), onRemoveTag = {}, onAddTagClick = {}, + onAssignClick = {}, onExploreClick = {}, onChannelClick = null, onCopy = {}, @@ -908,6 +921,7 @@ private fun PreviewSheetSmallScreen() { tags = listOf("Lunch", "Drinks"), onRemoveTag = {}, onAddTagClick = {}, + onAssignClick = {}, onExploreClick = {}, onChannelClick = null, onCopy = {}, diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/components/ActivityAddTagSheet.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/components/ActivityAddTagSheet.kt index c2d852389..88e0d1100 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/components/ActivityAddTagSheet.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/components/ActivityAddTagSheet.kt @@ -29,6 +29,7 @@ import to.bitkit.viewmodels.TagsViewModel fun ActivityAddTagSheet( listViewModel: ActivityListViewModel, activityViewModel: ActivityDetailViewModel, + modifier: Modifier = Modifier, tagsViewModel: TagsViewModel = hiltViewModel(), onDismiss: () -> Unit, ) { @@ -66,7 +67,7 @@ fun ActivityAddTagSheet( focusOnShow = true, tagInputTestTag = "TagInput", addButtonTestTag = "ActivityTagsSubmit", - modifier = Modifier + modifier = modifier .semantics { testTagsAsResourceId = true } .sheetHeight(SheetSize.SMALL, isModal = true) .gradientBackground() @@ -87,9 +88,7 @@ private fun Preview() { onTagConfirmed = {}, onInputUpdated = {}, onBack = {}, - modifier = Modifier - .sheetHeight(SheetSize.SMALL, isModal = true) - .gradientBackground() + modifier = Modifier.sheetHeight(SheetSize.SMALL, isModal = true) ) } } diff --git a/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt b/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheet.kt similarity index 75% rename from app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt rename to app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheet.kt index cacd8cdfc..f51aba1b1 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheetContent.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/ComingSoonSheet.kt @@ -6,6 +6,7 @@ import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding +import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.platform.testTag @@ -15,9 +16,11 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import to.bitkit.R import to.bitkit.ui.components.BodyM +import to.bitkit.ui.components.BottomSheet import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.Display import to.bitkit.ui.components.PrimaryButton +import to.bitkit.ui.components.SheetSize import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight @@ -26,8 +29,27 @@ import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent +private fun Modifier.sheet() = this then sheetHeight(SheetSize.MEDIUM, isModal = true) + +@OptIn(ExperimentalMaterial3Api::class) +@Composable +fun ComingSoonSheet( + onWalletOverviewClick: () -> Unit, + onBack: () -> Unit, + modifier: Modifier = Modifier, +) { + BottomSheet(onDismissRequest = onBack) { + ComingSoonSheetContent( + onWalletOverviewClick = onWalletOverviewClick, + onBack = onBack, + modifier = modifier.sheet() + ) + } +} + @Composable fun ComingSoonSheetContent( + onWalletOverviewClick: () -> Unit, onBack: () -> Unit, modifier: Modifier = Modifier, ) { @@ -58,7 +80,7 @@ fun ComingSoonSheetContent( VerticalSpacer(54.dp) PrimaryButton( text = stringResource(R.string.coming_soon__button), - onClick = onBack, + onClick = onWalletOverviewClick, ) } } @@ -70,8 +92,9 @@ private fun Preview() { AppThemeSurface { BottomSheetPreview { ComingSoonSheetContent( + onWalletOverviewClick = {}, onBack = {}, - modifier = Modifier.sheetHeight(), + modifier = Modifier.sheet() ) } } diff --git a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt index c14d0aea8..7d1d9078e 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/SendSheet.kt @@ -269,7 +269,8 @@ fun SendSheet( } composableWithDefaultTransitions { ComingSoonSheetContent( - onBack = { navController.popBackStack() } + onWalletOverviewClick = { appViewModel.hideSheet() }, + onBack = { navController.popBackStack() }, ) } composableWithDefaultTransitions {