From e8c55b6c7fc2c706160045d5a9ca9cc215f81941 Mon Sep 17 00:00:00 2001 From: Philipp Walter Date: Fri, 18 Sep 2026 15:27:16 +0200 Subject: [PATCH 1/5] fix: align timed sheet behavior --- app/src/main/java/to/bitkit/ui/ContentView.kt | 6 +- .../to/bitkit/ui/components/SheetIntro.kt | 148 ++++++++++++++++++ .../wallets/activity/ActivityDetailScreen.kt | 6 +- .../BackgroundPaymentsIntroScreen.kt | 40 +---- .../ui/settings/backups/BackupIntroScreen.kt | 103 +++--------- .../bitkit/ui/settings/pin/PinPromptScreen.kt | 105 ++----------- .../ui/sheets/BackgroundPaymentsIntroSheet.kt | 48 +++--- .../to/bitkit/ui/sheets/ForceTransferSheet.kt | 89 ++--------- .../ui/sheets/HighBalanceWarningSheet.kt | 114 +++----------- .../bitkit/ui/sheets/NewTransactionSheet.kt | 8 +- .../to/bitkit/ui/sheets/QuickPayIntroSheet.kt | 45 +++--- .../java/to/bitkit/ui/sheets/UpdateSheet.kt | 92 ++--------- .../main/res/drawable-nodpi/bell_figure.png | Bin 0 -> 139700 bytes app/src/main/res/values-ar/strings.xml | 3 +- app/src/main/res/values-b+es+419/strings.xml | 3 +- app/src/main/res/values-ca/strings.xml | 3 +- app/src/main/res/values-cs/strings.xml | 3 +- app/src/main/res/values-de/strings.xml | 3 +- app/src/main/res/values-el/strings.xml | 3 +- app/src/main/res/values-es-rES/strings.xml | 3 +- app/src/main/res/values-es/strings.xml | 3 +- app/src/main/res/values-fr/strings.xml | 3 +- app/src/main/res/values-it/strings.xml | 3 +- app/src/main/res/values-nl/strings.xml | 3 +- app/src/main/res/values-pl/strings.xml | 3 +- app/src/main/res/values-pt-rBR/strings.xml | 3 +- app/src/main/res/values-pt/strings.xml | 3 +- app/src/main/res/values-ru/strings.xml | 3 +- app/src/main/res/values/strings.xml | 3 +- docs/timed-sheets.md | 67 ++++++++ 30 files changed, 396 insertions(+), 523 deletions(-) create mode 100644 app/src/main/java/to/bitkit/ui/components/SheetIntro.kt create mode 100644 app/src/main/res/drawable-nodpi/bell_figure.png create mode 100644 docs/timed-sheets.md diff --git a/app/src/main/java/to/bitkit/ui/ContentView.kt b/app/src/main/java/to/bitkit/ui/ContentView.kt index f3bc278b34..668d3a8962 100644 --- a/app/src/main/java/to/bitkit/ui/ContentView.kt +++ b/app/src/main/java/to/bitkit/ui/ContentView.kt @@ -636,7 +636,12 @@ fun ContentView( TimedSheetType.QUICK_PAY -> { QuickPayIntroSheet( + onLater = { + settingsViewModel.setQuickPayIntroSeen(true) + appViewModel.dismissTimedSheet() + }, onContinue = { + settingsViewModel.setQuickPayIntroSeen(true) appViewModel.dismissTimedSheet() navController.navigateTo(Routes.QuickPaySettings) }, @@ -1676,7 +1681,6 @@ private fun NavGraphBuilder.generalSettingsSubScreens( } BackgroundPaymentsIntroScreen( onBack = { navController.popBackStack() }, - onLater = { navController.popBackStack() }, onEnable = { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { notificationPermissionLauncher.launch(Manifest.permission.POST_NOTIFICATIONS) diff --git a/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt b/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt new file mode 100644 index 0000000000..6af861aed0 --- /dev/null +++ b/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt @@ -0,0 +1,148 @@ +package to.bitkit.ui.components + +import androidx.annotation.DrawableRes +import androidx.compose.foundation.Image +import androidx.compose.foundation.layout.Arrangement +import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.Column +import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxSize +import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.heightIn +import androidx.compose.foundation.layout.navigationBarsPadding +import androidx.compose.foundation.layout.padding +import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment +import androidx.compose.ui.Modifier +import androidx.compose.ui.layout.ContentScale +import androidx.compose.ui.platform.testTag +import androidx.compose.ui.res.painterResource +import androidx.compose.ui.text.AnnotatedString +import androidx.compose.ui.unit.dp +import to.bitkit.ui.scaffold.SheetTopBar +import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.theme.Colors + +@Composable +@Suppress("LongParameterList") +fun SheetIntro( + navTitle: String, + title: AnnotatedString, + description: AnnotatedString, + @DrawableRes image: Int, + continueText: String, + onContinue: () -> Unit, + modifier: Modifier = Modifier, + continueLoading: Boolean = false, + cancelText: String? = null, + onCancel: (() -> Unit)? = null, + testTag: String = "SheetIntro", + cancelTestTag: String = "${testTag}Cancel", + continueTestTag: String = "${testTag}Continue", +) { + Column( + modifier = modifier + .fillMaxSize() + .gradientBackground() + .navigationBarsPadding() + .testTag(testTag) + ) { + SheetTopBar(navTitle) + + Column( + modifier = Modifier.padding(horizontal = 32.dp), + ) { + Box( + contentAlignment = Alignment.BottomCenter, + modifier = Modifier + .fillMaxWidth() + .weight(1f) + ) { + Image( + painter = painterResource(image), + contentDescription = null, + contentScale = ContentScale.Fit, + modifier = Modifier + .fillMaxWidth(0.8f) + .heightIn(max = 320.dp) + .testTag("${testTag}Image") + ) + } + + VerticalSpacer(32.dp) + Display( + text = title, + color = Colors.White, + modifier = Modifier.testTag("${testTag}Title") + ) + VerticalSpacer(8.dp) + BodyM( + text = description, + color = Colors.White64, + modifier = Modifier.testTag("${testTag}Description") + ) + VerticalSpacer(32.dp) + + SheetIntroButtons( + continueText = continueText, + onContinue = onContinue, + continueLoading = continueLoading, + cancelText = cancelText, + onCancel = onCancel, + testTag = "${testTag}Buttons", + cancelTestTag = cancelTestTag, + continueTestTag = continueTestTag, + ) + VerticalSpacer(16.dp) + } + } +} + +@Composable +@Suppress("LongParameterList") +private fun SheetIntroButtons( + continueText: String, + onContinue: () -> Unit, + modifier: Modifier = Modifier, + continueLoading: Boolean = false, + cancelText: String? = null, + onCancel: (() -> Unit)? = null, + testTag: String = "SheetIntroButtons", + cancelTestTag: String = "SheetIntroCancel", + continueTestTag: String = "SheetIntroContinue", +) { + if (cancelText == null || onCancel == null) { + PrimaryButton( + text = continueText, + onClick = onContinue, + isLoading = continueLoading, + modifier = modifier.testTag(continueTestTag) + ) + return + } + + Row( + horizontalArrangement = Arrangement.spacedBy(16.dp), + modifier = modifier + .fillMaxWidth() + .testTag(testTag) + ) { + SecondaryButton( + text = cancelText, + fullWidth = false, + onClick = onCancel, + modifier = Modifier + .weight(1f) + .testTag(cancelTestTag) + ) + PrimaryButton( + text = continueText, + fullWidth = false, + onClick = onContinue, + isLoading = continueLoading, + modifier = Modifier + .weight(1f) + .testTag(continueTestTag) + ) + } +} 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 d9cc09ae9e..00f2b50fc1 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 @@ -74,7 +74,7 @@ import to.bitkit.ui.components.BodySSB import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.ButtonSize import to.bitkit.ui.components.Caption13Up -import to.bitkit.ui.components.MoneySSB +import to.bitkit.ui.components.MoneyCaptionM import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.PubkyContactAvatar import to.bitkit.ui.components.TagButton @@ -499,7 +499,7 @@ private fun ActivityDetailContent( if (isHidden) { BodySSB(text = UiConstants.HIDE_BALANCE_SHORT) } else { - MoneySSB(sats = displayAmount.toLong()) + MoneyCaptionM(sats = displayAmount.toLong()) } } } @@ -536,7 +536,7 @@ private fun ActivityDetailContent( if (isHidden) { BodySSB(text = UiConstants.HIDE_BALANCE_SHORT) } else { - MoneySSB(sats = fee.toLong()) + MoneyCaptionM(sats = fee.toLong()) } } } diff --git a/app/src/main/java/to/bitkit/ui/settings/backgroundPayments/BackgroundPaymentsIntroScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backgroundPayments/BackgroundPaymentsIntroScreen.kt index ce5363abeb..e94b99f3a7 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backgroundPayments/BackgroundPaymentsIntroScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backgroundPayments/BackgroundPaymentsIntroScreen.kt @@ -1,9 +1,7 @@ package to.bitkit.ui.settings.backgroundPayments import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.padding @@ -21,7 +19,6 @@ import to.bitkit.R import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.Display import to.bitkit.ui.components.PrimaryButton -import to.bitkit.ui.components.SecondaryButton import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.DrawerNavIcon @@ -34,7 +31,6 @@ import to.bitkit.viewmodels.SettingsViewModel @Composable fun BackgroundPaymentsIntroScreen( onBack: () -> Unit, - onLater: () -> Unit, onEnable: () -> Unit, modifier: Modifier = Modifier, settingsViewModel: SettingsViewModel = hiltViewModel(), @@ -48,10 +44,6 @@ fun BackgroundPaymentsIntroScreen( actions = { DrawerNavIcon() }, ) BackgroundPaymentsIntroContent( - onLater = { - settingsViewModel.setBgPaymentsIntroSeen(true) - onLater() - }, onEnable = { settingsViewModel.setBgPaymentsIntroSeen(true) onEnable() @@ -62,7 +54,6 @@ fun BackgroundPaymentsIntroScreen( @Composable fun BackgroundPaymentsIntroContent( - onLater: () -> Unit, onEnable: () -> Unit, modifier: Modifier = Modifier, ) { @@ -70,7 +61,7 @@ fun BackgroundPaymentsIntroContent( modifier = modifier.padding(horizontal = 32.dp) ) { Image( - painter = painterResource(R.drawable.bell), + painter = painterResource(R.drawable.bell_figure), contentDescription = null, contentScale = ContentScale.Fit, modifier = Modifier @@ -87,29 +78,11 @@ fun BackgroundPaymentsIntroContent( VerticalSpacer(8.dp) BodyM(text = stringResource(R.string.settings__bg__intro_desc), color = Colors.White64) VerticalSpacer(32.dp) - Row( - horizontalArrangement = Arrangement.spacedBy(16.dp), - modifier = Modifier - .fillMaxWidth() - .testTag("BackgroundPaymentsIntro-buttons") - ) { - SecondaryButton( - text = stringResource(R.string.common__later), - fullWidth = false, - onClick = onLater, - modifier = Modifier - .weight(1f) - .testTag("BackgroundPaymentsIntro-later") - ) - PrimaryButton( - text = stringResource(R.string.settings__bg__intro_button), - fullWidth = false, - onClick = onEnable, - modifier = Modifier - .weight(1f) - .testTag("BackgroundPaymentsIntro-enable") - ) - } + PrimaryButton( + text = stringResource(R.string.settings__bg__intro_button), + onClick = onEnable, + modifier = Modifier.testTag("BackgroundPaymentsIntro-enable") + ) VerticalSpacer(16.dp) } } @@ -119,7 +92,6 @@ fun BackgroundPaymentsIntroContent( private fun Preview() { AppThemeSurface { BackgroundPaymentsIntroContent( - onLater = {}, onEnable = {}, ) } diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/BackupIntroScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/BackupIntroScreen.kt index e2e47edee9..2547770505 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/BackupIntroScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/BackupIntroScreen.kt @@ -1,34 +1,15 @@ package to.bitkit.ui.settings.backups -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.heightIn -import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.testTag -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString 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.SecondaryButton +import to.bitkit.ui.components.SheetIntro 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 -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 @@ -40,71 +21,23 @@ fun BackupIntroScreen( onConfirm: () -> Unit, modifier: Modifier = Modifier, ) { - Column( + SheetIntro( + navTitle = stringResource(R.string.security__backup_wallet), + title = stringResource(R.string.security__backup_title).withAccent(accentColor = Colors.Blue), + description = AnnotatedString( + when (hasFunds) { + true -> stringResource(R.string.security__backup_funds) + else -> stringResource(R.string.security__backup_funds_no) + }, + ), + image = R.drawable.safe, + continueText = stringResource(R.string.security__backup_button), + onContinue = onConfirm, + cancelText = stringResource(R.string.common__later), + onCancel = onClose, + testTag = "BackupIntroView", modifier = modifier - .fillMaxSize() - .gradientBackground() - .navigationBarsPadding() - .testTag("BackupIntroView") - ) { - SheetTopBar(stringResource(R.string.security__backup_wallet)) - Column( - horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(horizontal = 32.dp), - ) { - Image( - painter = painterResource(R.drawable.safe), - contentDescription = null, - contentScale = ContentScale.Fit, - modifier = Modifier - .fillMaxWidth() - .weight(1f) - .heightIn(max = 320.dp) - .testTag("BackupIntroViewImage") - ) - Display( - text = stringResource(R.string.security__backup_title).withAccent(accentColor = Colors.Blue), - color = Colors.White, - modifier = Modifier - .testTag("BackupIntroViewTitle") - ) - VerticalSpacer(8.dp) - BodyM( - text = when (hasFunds) { - true -> stringResource(R.string.security__backup_funds) - else -> stringResource(R.string.security__backup_funds_no) - }, - color = Colors.White64, - modifier = Modifier - .testTag("BackupIntroViewDescription") - ) - VerticalSpacer(32.dp) - Row( - horizontalArrangement = Arrangement.spacedBy(16.dp), - modifier = Modifier - .fillMaxWidth() - .testTag("BackupIntroViewButtons") - ) { - SecondaryButton( - text = stringResource(R.string.common__later), - fullWidth = false, - onClick = onClose, - modifier = Modifier - .weight(1f) - .testTag("BackupIntroViewCancel") - ) - PrimaryButton( - text = stringResource(R.string.security__backup_button), - fullWidth = false, - onClick = onConfirm, - modifier = Modifier - .weight(1f) - .testTag("BackupIntroViewContinue") - ) - } - VerticalSpacer(16.dp) - } - } + ) } @Preview(showSystemUi = true) diff --git a/app/src/main/java/to/bitkit/ui/settings/pin/PinPromptScreen.kt b/app/src/main/java/to/bitkit/ui/settings/pin/PinPromptScreen.kt index 333e2f5b5f..4cc86e1e3f 100644 --- a/app/src/main/java/to/bitkit/ui/settings/pin/PinPromptScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/pin/PinPromptScreen.kt @@ -1,41 +1,19 @@ package to.bitkit.ui.settings.pin -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.Spacer -import androidx.compose.foundation.layout.aspectRatio -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.navigationBarsPadding -import androidx.compose.foundation.layout.padding -import androidx.compose.foundation.layout.width import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.layout.ContentScale -import androidx.compose.ui.platform.testTag -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString 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.SecondaryButton +import to.bitkit.ui.components.SheetIntro import to.bitkit.ui.components.SheetSize -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 -@Suppress("MagicNumber") @Composable fun PinPromptScreen( onContinue: () -> Unit, @@ -43,75 +21,18 @@ fun PinPromptScreen( modifier: Modifier = Modifier, showLaterButton: Boolean = true, ) { - Column( + SheetIntro( + navTitle = stringResource(R.string.security__pin_security_header), + title = stringResource(R.string.security__pin_security_title).withAccent(accentColor = Colors.Green), + description = AnnotatedString(stringResource(R.string.security__pin_security_text)), + image = R.drawable.shield, + continueText = stringResource(R.string.security__pin_security_button), + onContinue = onContinue, + cancelText = stringResource(R.string.common__later).takeIf { showLaterButton }, + onCancel = onLater.takeIf { showLaterButton }, + testTag = "SecureWallet", modifier = modifier - .fillMaxSize() - .gradientBackground() - .padding(horizontal = 16.dp) - .navigationBarsPadding() - .testTag("SecureWallet") - ) { - SheetTopBar(stringResource(R.string.security__pin_security_header)) - - Column( - modifier = Modifier - .fillMaxSize() - .padding(horizontal = 16.dp) - ) { - Box( - contentAlignment = Alignment.Center, - modifier = Modifier - .fillMaxWidth(0.8f) - .aspectRatio(1f) - .align(Alignment.CenterHorizontally) - .weight(1f) - ) { - Image( - painter = painterResource(id = R.drawable.shield), - contentDescription = null, - contentScale = ContentScale.Fit, - modifier = Modifier.fillMaxSize() - ) - } - - Display(text = stringResource(R.string.security__pin_security_title).withAccent(accentColor = Colors.Green)) - - Spacer(modifier = Modifier.height(8.dp)) - - BodyM( - text = stringResource(R.string.security__pin_security_text), - color = Colors.White64, - ) - - Spacer(modifier = Modifier.height(32.dp)) - - Row( - modifier = Modifier.fillMaxWidth() - ) { - if (showLaterButton) { - SecondaryButton( - text = stringResource(R.string.common__later), - onClick = onLater, - modifier = Modifier - .weight(1f) - .testTag("SecureWalletContinue") - ) - - Spacer(modifier = Modifier.width(16.dp)) - } - - PrimaryButton( - text = stringResource(R.string.security__pin_security_button), - onClick = onContinue, - modifier = Modifier - .weight(1f) - .testTag("SecureWalletContinue") - ) - } - - Spacer(modifier = Modifier.height(16.dp)) - } - } + ) } @Preview(showSystemUi = true) diff --git a/app/src/main/java/to/bitkit/ui/sheets/BackgroundPaymentsIntroSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/BackgroundPaymentsIntroSheet.kt index e0529e0eb3..0529fb4a64 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/BackgroundPaymentsIntroSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/BackgroundPaymentsIntroSheet.kt @@ -1,20 +1,17 @@ package to.bitkit.ui.sheets -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview import to.bitkit.R import to.bitkit.ui.components.BottomSheetPreview -import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.settings.backgroundPayments.BackgroundPaymentsIntroContent +import to.bitkit.ui.components.SheetIntro 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 BackgroundPaymentsIntroSheet( @@ -22,33 +19,32 @@ fun BackgroundPaymentsIntroSheet( onEnable: () -> Unit, modifier: Modifier = Modifier, ) { - Column( + SheetIntro( + navTitle = stringResource(R.string.settings__bg__title), + title = stringResource(R.string.settings__bg__intro_title).withAccent(accentColor = Colors.Purple), + description = AnnotatedString(stringResource(R.string.settings__bg__intro_desc)), + image = R.drawable.bell_figure, + continueText = stringResource(R.string.settings__bg__intro_button), + onContinue = onEnable, + cancelText = stringResource(R.string.common__later), + onCancel = onLater, + testTag = "BackgroundPaymentsIntro", + cancelTestTag = "BackgroundPaymentsIntro-later", + continueTestTag = "BackgroundPaymentsIntro-enable", modifier = modifier - .fillMaxWidth() .sheetHeight(isModal = true) - .gradientBackground() - .navigationBarsPadding() - .testTag("background_payments_intro_sheet") - ) { - SheetTopBar(titleText = stringResource(R.string.settings__bg__title)) - BackgroundPaymentsIntroContent( - onLater = onLater, - onEnable = onEnable, - ) - } + ) } @Preview(showSystemUi = true) @Composable private fun Preview() { AppThemeSurface { - Column { - BottomSheetPreview { - BackgroundPaymentsIntroSheet( - onLater = {}, - onEnable = {}, - ) - } + BottomSheetPreview { + BackgroundPaymentsIntroSheet( + onLater = {}, + onEnable = {}, + ) } } } diff --git a/app/src/main/java/to/bitkit/ui/sheets/ForceTransferSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/ForceTransferSheet.kt index d8f3a04668..f30a36813e 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/ForceTransferSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/ForceTransferSheet.kt @@ -3,36 +3,20 @@ package to.bitkit.ui.sheets import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.fadeIn import androidx.compose.animation.fadeOut -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.aspectRatio -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.runtime.getValue 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.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import to.bitkit.R import to.bitkit.repositories.ConnectivityState -import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.ConnectionIssuesView -import to.bitkit.ui.components.Display -import to.bitkit.ui.components.PrimaryButton -import to.bitkit.ui.components.SecondaryButton -import to.bitkit.ui.components.VerticalSpacer -import to.bitkit.ui.scaffold.SheetTopBar +import to.bitkit.ui.components.SheetIntro 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 @@ -76,60 +60,21 @@ private fun Content( onForceTransfer: () -> Unit = {}, onCancel: () -> Unit = {}, ) { - Column( - modifier = modifier - .sheetHeight() - .gradientBackground() - .navigationBarsPadding() - .padding(horizontal = 16.dp) - .testTag("ForceTransfer") - ) { - SheetTopBar(titleText = stringResource(R.string.lightning__force_nav_title)) - - Image( - painter = painterResource(R.drawable.exclamation_mark), - contentDescription = null, - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 36.dp) - .aspectRatio(1.0f) - .weight(1f) - ) - - Display(text = stringResource(R.string.lightning__force_title).withAccent(accentColor = Colors.Yellow)) - - VerticalSpacer(8.dp) - - BodyM( - text = stringResource(R.string.lightning__force_text), - color = Colors.White64, - modifier = Modifier.fillMaxWidth() - ) - - VerticalSpacer(32.dp) - - Row( - horizontalArrangement = Arrangement.spacedBy(16.dp), - ) { - SecondaryButton( - text = stringResource(R.string.common__cancel), - onClick = onCancel, - modifier = Modifier - .weight(1f) - .testTag("CancelButton") - ) - PrimaryButton( - text = stringResource(R.string.lightning__force_button), - onClick = onForceTransfer, - isLoading = isLoading, - modifier = Modifier - .weight(1f) - .testTag("ForceTransferButton") - ) - } - - VerticalSpacer(16.dp) - } + SheetIntro( + navTitle = stringResource(R.string.lightning__force_nav_title), + title = stringResource(R.string.lightning__force_title).withAccent(accentColor = Colors.Yellow), + description = AnnotatedString(stringResource(R.string.lightning__force_text)), + image = R.drawable.exclamation_mark, + continueText = stringResource(R.string.lightning__force_button), + onContinue = onForceTransfer, + continueLoading = isLoading, + cancelText = stringResource(R.string.common__cancel), + onCancel = onCancel, + testTag = "ForceTransfer", + cancelTestTag = "CancelButton", + continueTestTag = "ForceTransferButton", + modifier = modifier.sheetHeight() + ) } @Preview(showSystemUi = true) diff --git a/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt index 2f8b7c4b35..28c0a6d66c 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt @@ -1,30 +1,13 @@ package to.bitkit.ui.sheets -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -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.Alignment 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.SecondaryButton -import to.bitkit.ui.components.VerticalSpacer -import to.bitkit.ui.scaffold.SheetTopBar +import to.bitkit.ui.components.SheetIntro import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground import to.bitkit.ui.theme.AppTextStyles import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -36,87 +19,32 @@ fun HighBalanceWarningSheet( learnMoreClick: () -> Unit, modifier: Modifier = Modifier, ) { - Column( - modifier = modifier - .fillMaxWidth() - .sheetHeight(isModal = true) - .gradientBackground() - .navigationBarsPadding() - .testTag("HighBalanceSheet") - ) { - SheetTopBar(stringResource(R.string.other__high_balance__nav_title)) - - Column( - horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier.padding(horizontal = 16.dp), - ) { - Image( - painter = painterResource(R.drawable.exclamation_mark), - contentDescription = null, - modifier = Modifier - .fillMaxWidth() - .weight(1f) - .testTag("HighBalanceSheetImage") - ) - - Display( - text = stringResource(R.string.other__high_balance__title).withAccent(accentColor = Colors.Yellow), - color = Colors.White, - modifier = Modifier - .fillMaxWidth() - .testTag("HighBalanceSheetTitle") - ) - VerticalSpacer(8.dp) - BodyM( - text = stringResource(R.string.other__high_balance__text).withAccent( - defaultColor = Colors.White64, - accentStyle = AppTextStyles.Subtitle.merge(color = Colors.White).toSpanStyle() - ), - color = Colors.White64, - modifier = Modifier - .testTag("HighBalanceSheetDescription") - ) - VerticalSpacer(32.dp) - Row( - modifier = Modifier - .fillMaxWidth() - .testTag("HighBalanceSheetButtons"), - horizontalArrangement = Arrangement.spacedBy(16.dp) - ) { - SecondaryButton( - text = stringResource(R.string.other__high_balance__cancel), - fullWidth = false, - onClick = learnMoreClick, - modifier = Modifier - .weight(1f) - .testTag("HighBalanceSheetCancel"), - ) - - PrimaryButton( - text = stringResource(R.string.other__high_balance__continue), - fullWidth = false, - onClick = understoodClick, - modifier = Modifier - .weight(1f) - .testTag("HighBalanceSheetContinue"), - ) - } - VerticalSpacer(16.dp) - } - } + SheetIntro( + navTitle = stringResource(R.string.other__high_balance__nav_title), + title = stringResource(R.string.other__high_balance__title).withAccent(accentColor = Colors.Yellow), + description = stringResource(R.string.other__high_balance__text).withAccent( + defaultColor = Colors.White64, + accentStyle = AppTextStyles.Subtitle.merge(color = Colors.White).toSpanStyle(), + ), + image = R.drawable.exclamation_mark, + continueText = stringResource(R.string.other__high_balance__continue), + onContinue = understoodClick, + cancelText = stringResource(R.string.other__high_balance__cancel), + onCancel = learnMoreClick, + testTag = "HighBalanceSheet", + modifier = modifier.sheetHeight(isModal = true) + ) } @Preview(showSystemUi = true) @Composable private fun Preview() { AppThemeSurface { - Column { - BottomSheetPreview { - HighBalanceWarningSheet( - understoodClick = {}, - learnMoreClick = {}, - ) - } + BottomSheetPreview { + HighBalanceWarningSheet( + understoodClick = {}, + learnMoreClick = {}, + ) } } } diff --git a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt index 7e08821998..e69fe55977 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt @@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.height +import androidx.compose.foundation.layout.heightIn import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.foundation.layout.padding import androidx.compose.material3.ExperimentalMaterial3Api @@ -113,10 +114,11 @@ fun NewTransactionSheetView( Image( painter = painterResource(R.drawable.check), contentDescription = null, - contentScale = ContentScale.FillWidth, + contentScale = ContentScale.Fit, modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 16.dp) + .padding(horizontal = 32.dp) + .fillMaxWidth(0.8f) + .heightIn(max = 320.dp) .testTag("transaction_sent_image") .align(Alignment.Center) ) diff --git a/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt index 88c375e79f..91d1261e0c 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt @@ -1,49 +1,50 @@ package to.bitkit.ui.sheets -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxWidth -import androidx.compose.foundation.layout.navigationBarsPadding import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier -import androidx.compose.ui.platform.testTag import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview import to.bitkit.R import to.bitkit.ui.components.BottomSheetPreview -import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.settings.quickPay.QuickPayIntroContent +import to.bitkit.ui.components.SheetIntro 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 QuickPayIntroSheet( + onLater: () -> Unit, onContinue: () -> Unit, modifier: Modifier = Modifier, ) { - Column( + SheetIntro( + navTitle = stringResource(R.string.settings__quickpay__nav_title), + title = stringResource(R.string.settings__quickpay__intro__title).withAccent(accentColor = Colors.Green), + description = AnnotatedString(stringResource(R.string.settings__quickpay__sheet__description)), + image = R.drawable.fast_forward, + continueText = stringResource(R.string.common__learn_more), + onContinue = onContinue, + cancelText = stringResource(R.string.common__later), + onCancel = onLater, + testTag = "QuickpayIntro", + cancelTestTag = "QuickpayIntro-later", + continueTestTag = "QuickpayIntro-learnMore", modifier = modifier - .fillMaxWidth() .sheetHeight(isModal = true) - .gradientBackground() - .navigationBarsPadding() - .testTag("quick_pay_intro_sheet") - ) { - SheetTopBar(stringResource(R.string.settings__quickpay__nav_title)) - QuickPayIntroContent(onContinue = onContinue) - } + ) } @Preview(showSystemUi = true) @Composable private fun Preview() { AppThemeSurface { - Column { - BottomSheetPreview { - QuickPayIntroSheet( - onContinue = {}, - ) - } + BottomSheetPreview { + QuickPayIntroSheet( + onLater = {}, + onContinue = {}, + ) } } } diff --git a/app/src/main/java/to/bitkit/ui/sheets/UpdateSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/UpdateSheet.kt index 7e892dbcae..16415ea20b 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/UpdateSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/UpdateSheet.kt @@ -1,35 +1,19 @@ package to.bitkit.ui.sheets import android.content.Intent -import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.Row -import androidx.compose.foundation.layout.aspectRatio -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.LocalContext -import androidx.compose.ui.platform.testTag -import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp import androidx.core.net.toUri import to.bitkit.R import to.bitkit.env.Env -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.SecondaryButton +import to.bitkit.ui.components.SheetIntro 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 -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 @@ -41,64 +25,20 @@ fun UpdateSheet( ) { val context = LocalContext.current - Column( - modifier = modifier - .sheetHeight(SheetSize.LARGE) - .gradientBackground() - .navigationBarsPadding() - .padding(horizontal = 32.dp) - ) { - SheetTopBar(titleText = stringResource(R.string.other__update_nav_title)) - VerticalSpacer(16.dp) - - Image( - painter = painterResource(R.drawable.wand), - contentDescription = null, - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 28.dp) - .aspectRatio(1.0f) - .weight(1f) - ) - - Display( - text = stringResource(R.string.other__update_title) - .withAccent(accentColor = Colors.Brand), - color = Colors.White, - ) - - BodyM( - text = stringResource(R.string.other__update_text), - color = Colors.White64, - ) - - VerticalSpacer(32.dp) - Row( - modifier = Modifier - .fillMaxWidth() - .testTag("buttons_row"), - horizontalArrangement = Arrangement.spacedBy(16.dp) - ) { - SecondaryButton( - text = stringResource(R.string.common__cancel), - fullWidth = false, - onClick = onCancel, - modifier = Modifier - .weight(1f), - ) - - PrimaryButton( - text = stringResource(R.string.other__update_button), - fullWidth = false, - onClick = { - context.startActivity(Intent(Intent.ACTION_VIEW, Env.PLAY_STORE_URL.toUri())) - }, - modifier = Modifier - .weight(1f), - ) - } - VerticalSpacer(16.dp) - } + SheetIntro( + navTitle = stringResource(R.string.other__update_nav_title), + title = stringResource(R.string.other__update_title).withAccent(accentColor = Colors.Brand), + description = AnnotatedString(stringResource(R.string.other__update_text)), + image = R.drawable.wand, + continueText = stringResource(R.string.other__update_button), + onContinue = { + context.startActivity(Intent(Intent.ACTION_VIEW, Env.PLAY_STORE_URL.toUri())) + }, + cancelText = stringResource(R.string.common__cancel), + onCancel = onCancel, + testTag = "AppUpdateSheet", + modifier = modifier.sheetHeight(SheetSize.LARGE) + ) } @Preview(showSystemUi = true) diff --git a/app/src/main/res/drawable-nodpi/bell_figure.png b/app/src/main/res/drawable-nodpi/bell_figure.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2fd70c59ff95d356a223c9b36ac6da0acbf5ec GIT binary patch literal 139700 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

`Z6cCdN6_FUt=nAjn27*L*G(J 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

@Mv6;a~l6So2|yiDhG>Ttip}^UcGrQz4JLPD6Zs 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عام إعدادات النظام اللغة - يجعل Bitkit QuickPay الدفع أسرع بالدفع التلقائي لرموز QR عند مسحها. + يجعل Bitkit QuickPay الدفع أسرع من خلال دفع الفواتير الصغيرة تلقائيًا. مدفوعات\n<accent>سلسة</accent> QuickPay حد QuickPay * يدعم Bitkit QuickPay المدفوعات من رصيد الإنفاق فقط. إذا تم التفعيل، سيتم دفع الفواتير الممسوحة التي تقل عن ${amount} تلقائيًا دون الحاجة إلى تأكيدك أو رمز PIN*. تفعيل QuickPay + يجعل QuickPay الدفع أسرع من خلال الدفع تلقائيًا لرموز QR الممسوحة ضوئيًا. اتصال عنوان URL لخادم Rapid-Gossip-Sync قد تحتاج إلى إعادة تشغيل التطبيق مرة أو مرتين لتفعيل هذا التغيير. diff --git a/app/src/main/res/values-b+es+419/strings.xml b/app/src/main/res/values-b+es+419/strings.xml index 08b8d31b53..e8e9c8a608 100644 --- a/app/src/main/res/values-b+es+419/strings.xml +++ b/app/src/main/res/values-b+es+419/strings.xml @@ -665,13 +665,14 @@ Geral Ajustes del sistema Idioma - Bitkit QuickPay agiliza el proceso de pago mediante el pago automático de los códigos QR al ser escaneados. + Bitkit QuickPay agiliza el proceso de pago pagando automáticamente facturas pequeñas. <accent>Pagos</accent>\nsin fricción QuickPay Rango de Quickpay * Bitkit QuickPay soporta exclusivamente pagos desde su Saldo de Gastos. Si se activa, las facturas escaneadas por debajo de ${amount} se pagarán automáticamente sin necesidad de su confirmación o PIN*. Activar QuickPay + QuickPay agiliza el proceso de pago pagando automáticamente códigos QR escaneados. Conectar URL del servidor Rapid-Gossip-Sync Es posible que tenga que reiniciar la aplicación una o dos veces para que este cambio surta efecto. diff --git a/app/src/main/res/values-ca/strings.xml b/app/src/main/res/values-ca/strings.xml index 0f4885df8d..071fdf446b 100644 --- a/app/src/main/res/values-ca/strings.xml +++ b/app/src/main/res/values-ca/strings.xml @@ -665,13 +665,14 @@ General Configuració del sistema Idioma - Bitkit QuickPay fa que pagar sigui més ràpid pagant automàticament els codis QR quan s\'escanegen. + Bitkit QuickPay fa que pagar sigui més ràpid pagant automàticament factures petites. <accent>Pagaments</accent>\nsense friccions QuickPay Llindar de QuickPay * Bitkit QuickPay només admet pagaments des del teu saldo de despesa. Si està habilitat, les factures escanejades per sota de ${amount} es pagaran automàticament sense requerir la teva confirmació o PIN*. Habilitar QuickPay + QuickPay fa que pagar sigui més ràpid pagant automàticament els codis QR escanejats. Connecta URL del servidor Rapid-Gossip-Sync Potser hauràs de reiniciar l\'aplicació un o dos cops perquè aquest canvi tingui efecte. diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 5ea9afbd88..cd43549817 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -665,13 +665,14 @@ Obecné Systémové nastavení Jazyk - Služba Bitkit QuickPay urychluje odbavení tím, že po naskenování QR kódu automaticky zaplatí. + Bitkit QuickPay urychluje placení automatickou úhradou malých faktur. <accent>Okamžité</accent>\nplatby QuickPay Quickpay limit * Bitkit QuickPay podporuje výhradně platby z vašeho disponibilního zůstatku. Pokud je tato funkce povolena, budou naskenované faktury nižší než{amount} placeny automaticky bez nutnosti potvrzení nebo zadání kódu PIN*. Povolení služby QuickPay + QuickPay urychluje placení automatickou úhradou naskenovaných QR kódů. Připojit URL dresa serveru Rapid-Gossip-Sync Aby se tato změna projevila, může být nutné aplikaci jednou nebo dvakrát restartovat. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 00607ac192..3b09761dea 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -576,11 +576,12 @@ Auf Standard zurücksetzen QuickPay <accent>Reibungslos</accent>\nZahlungen - Bitkit QuickPay beschleunigt den Bezahlvorgang, indem es QR-Codes beim Scannen automatisch bezahlt. + Bitkit QuickPay beschleunigt den Bezahlvorgang, indem kleine Rechnungen automatisch bezahlt werden. QuickPay aktivieren Wenn diese Option aktiviert ist, werden gescannte Rechnungen unter ${Betrag} automatisch bezahlt, ohne dass Sie eine Bestätigung oder PIN* benötigen. Quickpay-Schwelle * Bitkit QuickPay unterstützt ausschließlich Zahlungen von deinem Guthaben. + QuickPay beschleunigt den Bezahlvorgang, indem gescannte QR-Codes automatisch bezahlt werden. Hintergrund-Zahlungen PASSIV\n<accent>EMPFANGEN</accent> Aktiviere Benachrichtigungen, um Zahlungen zu empfangen, auch wenn deine Bitkit-App geschlossen ist. diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 99f52ff5c1..53732c3c80 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -665,13 +665,14 @@ Γενικά Ρυθμίσεις συστήματος Γλώσσα - Το Bitkit QuickPay κάνει την ολοκλήρωση αγοράς πιο γρήγορη πληρώνοντας αυτόματα κωδικούς QR κατά τη σάρωση. + Το Bitkit QuickPay κάνει την ολοκλήρωση αγοράς πιο γρήγορη πληρώνοντας αυτόματα μικρά τιμολόγια. <accent>Απρόσκοπτες</accent>\nπληρωμές QuickPay Όριο Quickpay * Το Bitkit QuickPay υποστηρίζει αποκλειστικά πληρωμές από το υπόλοιπο δαπανών. Αν είναι ενεργοποιημένο, τα σαρωμένα τιμολόγια κάτω από ${amount} θα πληρώνονται αυτόματα χωρίς επιβεβαίωση ή PIN*. Ενεργοποίηση QuickPay + Το QuickPay κάνει την ολοκλήρωση αγοράς πιο γρήγορη πληρώνοντας αυτόματα σαρωμένους κωδικούς QR. Σύνδεση URL διακομιστή Rapid-Gossip-Sync Μπορεί να χρειαστεί να επανεκκινήσεις την εφαρμογή μία ή δύο φορές για να εφαρμοστεί αυτή η αλλαγή. diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index e2db33121e..3cdf60d28f 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -665,13 +665,14 @@ General Ajustes del sistema Idioma - Bitkit QuickPay hace que pagar sea más rápido pagando automáticamente los códigos QR cuando se escanean. + Bitkit QuickPay hace que pagar sea más rápido pagando automáticamente facturas pequeñas. Pagos\n<accent>sin fricción</accent> QuickPay Umbral de QuickPay * Bitkit QuickPay solo admite pagos desde tu saldo de gasto. Si está activado, las facturas escaneadas por debajo de ${amount} se pagarán automáticamente sin requerir tu confirmación o PIN*. Activar QuickPay + QuickPay hace que pagar sea más rápido pagando automáticamente códigos QR escaneados. Conectar URL del Servidor Rapid-Gossip-Sync Es posible que necesites reiniciar la aplicación una o dos veces para que este cambio surta efecto. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 305c13c80c..eaa3593ba6 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -622,13 +622,14 @@ Branch and Bound Selección aleatoria para privacidad Single Random Draw - Ahorra tiempo pagando facturas Lightning automáticamente. Configura un límite de cantidad y paga sin confirmaciones. + Bitkit QuickPay hace que pagar sea más rápido pagando automáticamente facturas pequeñas. PAGA\n<accent>RÁPIDAMENTE</accent> Configuración de QuickPay QuickPay hasta *Se aplica a todas las facturas Lightning, incluyendo aquellas a tus contactos. Ahorra tiempo pagando facturas Lightning automáticamente. Configura un límite de cantidad y paga sin confirmaciones. QuickPay activado + QuickPay hace que pagar sea más rápido pagando automáticamente códigos QR escaneados. Soporte ¿Necesita ayuda? Reporte su problema desde el propio Bitkit, visite el centro de ayuda, compruebe el estado o póngase en contacto con nosotros en nuestras redes sociales. Reportar Problema diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 543f22b20a..71259ef4ee 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -576,11 +576,12 @@ Réinitialiser par défaut QuickPay <accent>Sans friction</accent>\npaiements - Bitkit QuickPay accélère le passage à la caisse en payant automatiquement les QR codes lorsqu\'ils sont scannés. + Bitkit QuickPay accélère le passage à la caisse en réglant automatiquement les petites factures. Activer QuickPay Si cette option est activée, les factures numérisées d\'un montant inférieur à{amount} seront payées automatiquement sans que vous ayez besoin de confirmer ou de saisir votre code PIN*. Seuil de Quickpay * Bitkit QuickPay prend exclusivement en charge les paiements à partir de votre solde du compte courant. + QuickPay accélère le passage à la caisse en réglant automatiquement les codes QR scannés. Balayer pour masquer la balance Masquer le solde à l\'ouverture Lire le presse-papiers pour faciliter l\'utilisation diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 1d77f16f40..e0f419175d 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -665,13 +665,14 @@ Generale Impostazioni di sistema Lingua - Bitkit QuickPay rende il checkout piu\' veloce pagando automaticamente i codici QR quando scansionati. + Bitkit QuickPay rende il checkout più veloce pagando automaticamente le fatture di piccolo importo. <accent>Pagamenti</accent>\nsenza attriti QuickPay Soglia QuickPay * Bitkit QuickPay supporta esclusivamente pagamenti dal tuo Conto di Spesa. Se abilitato, le fatture scansionate inferiori a ${amount} verranno pagate automaticamente senza richiedere conferma o PIN*. Abilita QuickPay + QuickPay rende il checkout più veloce pagando automaticamente i codici QR scansionati. Connetti URL del server Rapid-Gossip-Sync Potrebbe essere necessario riavviare l\'app una o due volte affinché la modifica abbia effetto. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 2aa6472742..20e370a60b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -665,13 +665,14 @@ Algemeen Systeeminstellingen Taal - Bitkit QuickPay maakt afrekenen sneller door QR-codes automatisch te betalen wanneer ze worden gescand. + Bitkit QuickPay maakt afrekenen sneller door kleine facturen automatisch te betalen. <accent>Wrijvingsloze</accent>\nbetalingen QuickPay QuickPay-drempel * Bitkit QuickPay ondersteunt uitsluitend betalingen vanaf je bestedingssaldo. Indien ingeschakeld, worden gescande facturen onder ${amount} automatisch betaald zonder bevestiging of pincode*. QuickPay inschakelen + QuickPay maakt afrekenen sneller door gescande QR-codes automatisch te betalen. Verbinden Rapid-Gossip-Sync Server URL Mogelijk moet je de app een of twee keer herstarten voordat deze wijziging van kracht wordt. diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 226f005df7..f093af760a 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -574,11 +574,12 @@ Przywróć domyślne QuickPay <accent>Bezproblemowe</accent>\npłatności - Bitkit QuickPay przyspiesza płatności, automatycznie opłacając zeskanowane kody QR. + Bitkit QuickPay przyspiesza płatności, automatycznie opłacając niewielkie faktury. Włącz QuickPay Jeśli ta opcja jest włączona, zeskanowane faktury poniżej ${amount} zostaną opłacone automatycznie, bez konieczności potwierdzenia lub podania PIN-u*. Próg QuickPay * Bitkit QuickPay obsługuje wyłącznie płatności z Twojego salda wydatków. + QuickPay przyspiesza płatności, automatycznie opłacając zeskanowane kody QR. Przesuń saldo, aby ukryć Ukryj saldo po otwarciu Odczytaj schowek dla wygody użytkowania diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index cd169751af..295acdc5e6 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -665,13 +665,14 @@ Geral Configurações do sistema Idioma - O Bitkit QuickPay agiliza o check-out pagando automaticamente os códigos QR quando escaneados. + O Bitkit QuickPay agiliza o pagamento pagando automaticamente pequenas faturas. Pagamentos\n<accent>Sem atrito</accent> QuickPay Limite do Quickpay * O QuickPay suporta exclusivamente pagamentos a partir do seu saldo de gastos. Se ativado, os invoices digitalizados abaixo de ${amount} serão pagos automaticamente sem a necessidade de confirmação ou PIN*. Ativar o QuickPay + O QuickPay agiliza o pagamento pagando automaticamente códigos QR escaneados. Conectar URL do Servidor de Rapid-Gossip-Sync Pode ser necessário reiniciar o aplicativo uma ou duas vezes para que esta alteração seja aplicada. diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index dc44f1410a..66f8a378b7 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -573,11 +573,12 @@ Repor predefinições QuickPay Pagamentos\n<accent>Sem atrito</accent> - O Bitkit QuickPay agiliza o check-out pagando automaticamente os códigos QR quando escaneados. + O Bitkit QuickPay torna o pagamento mais rápido ao pagar automaticamente pequenas faturas. Ativar o QuickPay Se ativado, os invoices digitalizados abaixo de ${amount} serão pagos automaticamente sem a necessidade de confirmação ou PIN*. Limite do Quickpay * O QuickPay suporta exclusivamente pagamentos a partir do seu saldo de gastos. + O QuickPay torna o pagamento mais rápido ao pagar automaticamente códigos QR digitalizados. Arraste o saldo para ocultar Ocultar saldo ao abrir o app Ler área de transferência diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 0dfa10221d..890ed728ac 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -680,7 +680,7 @@ Основные Системные настройки Язык - Bitkit QuickPay ускоряет оплату, автоматически оплачивая QR-коды при сканировании. + Bitkit QuickPay ускоряет оплату, автоматически оплачивая небольшие счета. <accent>Платежи</accent> без трения QuickPay @@ -688,6 +688,7 @@ * Bitkit QuickPay поддерживает только платежи с вашего баланса расходов. Если включено, отсканированные счета ниже \${amount} будут оплачиваться автоматически без подтверждения или PIN-кода*. Включить QuickPay + QuickPay ускоряет оплату, автоматически оплачивая отсканированные QR-коды. Подключиться URL Сервера Rapid-Gossip-Sync Возможно, вам потребуется перезапустить приложение один или два раза, чтобы изменения вступили в силу. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 27d6e02e67..f5dcf4ab6d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -959,7 +959,7 @@ Rename Hardware Wallet System Settings Language - Bitkit QuickPay makes checking out faster by automatically paying QR codes when scanned. + Bitkit QuickPay makes checking out faster by automatically paying small invoices. <accent>Frictionless</accent>\npayments QuickPay Daily QuickPay limit @@ -969,6 +969,7 @@ * Bitkit QuickPay exclusively supports payments from your Spending Balance. If enabled, scanned invoices below ${amount} will be paid automatically without requiring your confirmation or PIN*. Enable QuickPay + QuickPay makes checking out faster by automatically paying scanned QR codes. Connect Rapid-Gossip-Sync Server URL You may need to restart the app once or twice for this change to take effect. diff --git a/docs/timed-sheets.md b/docs/timed-sheets.md new file mode 100644 index 0000000000..c41dbda6bb --- /dev/null +++ b/docs/timed-sheets.md @@ -0,0 +1,67 @@ +# Timed Sheets + +Timed sheets are opportunistic prompts shown from the wallet surface when a feature-specific condition is met. They are separate from the full-screen settings intro routes, even when both presentations reuse the same visual content. + +The manager checks sheets two seconds after the home screen resumes and cancels a pending check when the home screen pauses. It shows at most one eligible sheet per check, using this priority order: + +1. App update +2. Backup +3. Background payments +4. QuickPay +5. High balance + +The selected sheet is removed from the manager after it is shown. It is registered again when the app creates a new manager instance. A standard dismissal calls the selected sheet's `onDismissed()` handler before clearing it. + +## App Update + +The App Update sheet is eligible when the release service reports a newer Android build that is not marked critical. Critical updates are handled separately. + +- `Cancel` dismisses the sheet. No persisted dismissal state is written. +- `Update` opens the app's Play Store page. + +After dismissal, the sheet can be considered again after the app creates a new timed-sheet manager and the release remains newer than the installed build. + +## QuickPay + +QuickPay has two intro presentations: + +- Full-screen settings intro: opened from navigation routes such as the QuickPay suggestion. It shows a single `Continue` button. Pressing it marks `quickPayIntroSeen = true` and navigates to QuickPay settings. +- Timed sheet intro: opened by `QuickPayTimedSheet` when the intro has not been seen, QuickPay is not enabled, and the wallet has Lightning balance. It shows `Later` and `Learn More`. + +For the timed sheet: + +- `Later` marks `quickPayIntroSeen = true` and dismisses the timed sheet. The timed sheet dismissal path also writes the same value, so the sheet will not be shown again through normal app flow. +- `Learn More` marks `quickPayIntroSeen = true`, dismisses the timed sheet, and navigates to QuickPay settings. The dismissal path also writes the same value. + +Once `quickPayIntroSeen = true`, `QuickPayTimedSheet.shouldShow()` returns false. The intro can appear again only if persisted settings are reset or restored with `quickPayIntroSeen = false`. + +## Backup + +Backup uses a snooze model instead of a permanent seen flag: + +- The timed sheet is eligible when the backup is not verified, the wallet has a balance, and the last ignored timestamp is older than one day. +- `Later` dismisses the timed sheet. The timed sheet dismissal path records `backupWarningIgnoredMillis`. +- A generic timed sheet dismissal also records `backupWarningIgnoredMillis`. +- `Continue` starts the backup flow and does not immediately mark the prompt as ignored. Closing the timed backup flow through its dismissal callback records `backupWarningIgnoredMillis`. + +After the one-day ask interval passes, the Backup timed sheet can appear again if the backup is still unverified and the wallet still has a balance. + +## Background Payments + +The Background Payments timed sheet is eligible when notification permission has not been granted, the wallet has a Lightning balance, and `notificationsIgnoredMillis` is older than one week. + +- `Later` marks the background-payments intro as seen and dismisses the sheet. Dismissal records `notificationsIgnoredMillis`. +- `Enable` marks the intro as seen, dismisses the sheet, records `notificationsIgnoredMillis`, and requests notification permission. +- A generic timed sheet dismissal records `notificationsIgnoredMillis` without marking the intro as seen. + +After the one-week ask interval passes, the timed sheet can appear again if notification permission is still not granted and the wallet still has a Lightning balance. The full-screen settings intro is a separate route with only an enable action. + +## High Balance + +The High Balance sheet is eligible when the wallet balance converts to more than USD 500, fewer than three warnings have been dismissed while above the threshold, and `balanceWarningIgnoredMillis` is older than one day. + +- `Understood` dismisses the sheet. +- `Learn More` opens the configured bitcoin-storage information URL and dismisses the sheet. +- Any dismissal increments `balanceWarningTimes` and records `balanceWarningIgnoredMillis`. + +The sheet can appear at most three times while the balance remains above the threshold, with at least one day between appearances. A balance at or below the threshold resets `balanceWarningTimes` to zero. From 80d55219a9c5a0ba3d5d20cd351af24c2a9c7d9b Mon Sep 17 00:00:00 2001 From: Philipp Walter Date: Fri, 18 Sep 2026 15:33:12 +0200 Subject: [PATCH 2/5] refactor: share sheet intro image width --- app/src/main/java/to/bitkit/ui/components/SheetIntro.kt | 5 ++++- app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt b/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt index 6af861aed0..38e5b2f821 100644 --- a/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt +++ b/app/src/main/java/to/bitkit/ui/components/SheetIntro.kt @@ -23,6 +23,9 @@ import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.util.gradientBackground import to.bitkit.ui.theme.Colors +/** Width fraction used by intro sheet artwork. */ +const val SHEET_INTRO_IMAGE_WIDTH_FRACTION = 0.8f + @Composable @Suppress("LongParameterList") fun SheetIntro( @@ -63,7 +66,7 @@ fun SheetIntro( contentDescription = null, contentScale = ContentScale.Fit, modifier = Modifier - .fillMaxWidth(0.8f) + .fillMaxWidth(SHEET_INTRO_IMAGE_WIDTH_FRACTION) .heightIn(max = 320.dp) .testTag("${testTag}Image") ) diff --git a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt index e69fe55977..4ec124ab1b 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt @@ -39,6 +39,7 @@ import to.bitkit.ui.components.BottomSheetOverlayState import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.SecondaryButton +import to.bitkit.ui.components.SHEET_INTRO_IMAGE_WIDTH_FRACTION import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.gradientBackground @@ -117,7 +118,7 @@ fun NewTransactionSheetView( contentScale = ContentScale.Fit, modifier = Modifier .padding(horizontal = 32.dp) - .fillMaxWidth(0.8f) + .fillMaxWidth(SHEET_INTRO_IMAGE_WIDTH_FRACTION) .heightIn(max = 320.dp) .testTag("transaction_sent_image") .align(Alignment.Center) From 4666ef29aeab0a9ab6e9d8941f18b7cae1c000da Mon Sep 17 00:00:00 2001 From: Philipp Walter Date: Fri, 18 Sep 2026 15:46:12 +0200 Subject: [PATCH 3/5] chore: prepare sheet intro pr --- app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt | 2 +- changelog.d/next/1313.changed.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 changelog.d/next/1313.changed.md diff --git a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt index 4ec124ab1b..7219da0ab5 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt @@ -38,8 +38,8 @@ import to.bitkit.ui.components.BottomSheet import to.bitkit.ui.components.BottomSheetOverlayState import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.PrimaryButton -import to.bitkit.ui.components.SecondaryButton import to.bitkit.ui.components.SHEET_INTRO_IMAGE_WIDTH_FRACTION +import to.bitkit.ui.components.SecondaryButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.gradientBackground diff --git a/changelog.d/next/1313.changed.md b/changelog.d/next/1313.changed.md new file mode 100644 index 0000000000..d92189b06d --- /dev/null +++ b/changelog.d/next/1313.changed.md @@ -0,0 +1 @@ +Standardized intro sheets with consistent artwork, spacing, actions, and localized messaging. From 9b299cfd084c25cb1b2cb3db43beb03cd1bd8192 Mon Sep 17 00:00:00 2001 From: Philipp Walter Date: Fri, 18 Sep 2026 15:47:28 +0200 Subject: [PATCH 4/5] chore: rename changelog fragment --- changelog.d/next/{1313.changed.md => 1314.changed.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename changelog.d/next/{1313.changed.md => 1314.changed.md} (100%) diff --git a/changelog.d/next/1313.changed.md b/changelog.d/next/1314.changed.md similarity index 100% rename from changelog.d/next/1313.changed.md rename to changelog.d/next/1314.changed.md From 9c79f4db9642b2d999cc019cfe1464f35ec68a4d Mon Sep 17 00:00:00 2001 From: Philipp Walter Date: Fri, 18 Sep 2026 16:20:40 +0200 Subject: [PATCH 5/5] fix: preserve quickpay intro test tag --- app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt index 91d1261e0c..e352643e31 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/QuickPayIntroSheet.kt @@ -30,7 +30,7 @@ fun QuickPayIntroSheet( onCancel = onLater, testTag = "QuickpayIntro", cancelTestTag = "QuickpayIntro-later", - continueTestTag = "QuickpayIntro-learnMore", + continueTestTag = "QuickpayIntro-button", modifier = modifier .sheetHeight(isModal = true) )