diff --git a/app/src/main/java/to/bitkit/data/CacheStore.kt b/app/src/main/java/to/bitkit/data/CacheStore.kt index 308a289d2..40751c16d 100644 --- a/app/src/main/java/to/bitkit/data/CacheStore.kt +++ b/app/src/main/java/to/bitkit/data/CacheStore.kt @@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.first import kotlinx.coroutines.flow.map import kotlinx.serialization.Serializable +import to.bitkit.data.dto.InProgressTransfer import to.bitkit.data.dto.PendingBoostActivity import to.bitkit.data.dto.TransactionMetadata import to.bitkit.data.serializers.AppCacheSerializer @@ -130,6 +131,22 @@ class CacheStore @Inject constructor( } } + suspend fun addInProgressTransfer(item: InProgressTransfer) { + if (item in store.data.first().inProgressTransfers) return + + store.updateData { + it.copy(inProgressTransfers = it.inProgressTransfers + item) + } + } + + suspend fun removeInProgressTransfer(item: InProgressTransfer) { + if (item !in store.data.first().inProgressTransfers) return + + store.updateData { + it.copy(inProgressTransfers = it.inProgressTransfers - item) + } + } + suspend fun reset() { store.updateData { AppCacheData() } Logger.info("Deleted all app cached data.") @@ -153,4 +170,5 @@ data class AppCacheData( val activitiesPendingDelete: List = listOf(), val pendingBoostActivities: List = listOf(), val transactionsMetadata: List = listOf(), + val inProgressTransfers: List = listOf(), ) diff --git a/app/src/main/java/to/bitkit/data/dto/InProgressTransfer.kt b/app/src/main/java/to/bitkit/data/dto/InProgressTransfer.kt new file mode 100644 index 000000000..d4af06dde --- /dev/null +++ b/app/src/main/java/to/bitkit/data/dto/InProgressTransfer.kt @@ -0,0 +1,9 @@ +package to.bitkit.data.dto + +import kotlinx.serialization.Serializable + +@Serializable +data class InProgressTransfer( + val activityId: String, + val type: TransferType, +) diff --git a/app/src/main/java/to/bitkit/data/dto/TransferType.kt b/app/src/main/java/to/bitkit/data/dto/TransferType.kt new file mode 100644 index 000000000..76678bc38 --- /dev/null +++ b/app/src/main/java/to/bitkit/data/dto/TransferType.kt @@ -0,0 +1,8 @@ +package to.bitkit.data.dto + +enum class TransferType { + TO_SPENDING, + TO_SAVINGS, + FORCE_CLOSE, + COOP_CLOSE, +} diff --git a/app/src/main/java/to/bitkit/models/Suggestion.kt b/app/src/main/java/to/bitkit/models/Suggestion.kt index 7786b4beb..a51503c88 100644 --- a/app/src/main/java/to/bitkit/models/Suggestion.kt +++ b/app/src/main/java/to/bitkit/models/Suggestion.kt @@ -10,62 +10,98 @@ enum class Suggestion( @StringRes val title: Int, @StringRes val description: Int, @DrawableRes val icon: Int, - val color: Color + val color: Color, + val dismissible: Boolean = true, ) { BUY( title = R.string.cards__buyBitcoin__title, description = R.string.cards__buyBitcoin__description, - color = Colors.Brand, - icon = R.drawable.b_emboss + color = Colors.Brand24, + icon = R.drawable.b_emboss, ), LIGHTNING( + // Lightning ready from RN title = R.string.cards__lightning__title, description = R.string.cards__lightning__description, - color = Colors.Purple, - icon = R.drawable.lightning + color = Colors.Purple24, + icon = R.drawable.lightning, ), BACK_UP( title = R.string.cards__backupSeedPhrase__title, description = R.string.cards__backupSeedPhrase__description, - color = Colors.Blue, - icon = R.drawable.safe + color = Colors.Blue24, + icon = R.drawable.safe, ), SECURE( title = R.string.cards__pin__title, description = R.string.cards__pin__description, - color = Colors.Green, + color = Colors.Green24, icon = R.drawable.shield ), SUPPORT( title = R.string.cards__support__title, description = R.string.cards__support__description, - color = Colors.Yellow, + color = Colors.Yellow24, icon = R.drawable.lightbulb ), INVITE( title = R.string.cards__invite__title, description = R.string.cards__invite__description, - color = Colors.Blue, + color = Colors.Blue24, icon = R.drawable.group ), PROFILE( title = R.string.cards__slashtagsProfile__title, description = R.string.cards__slashtagsProfile__description, - color = Colors.Brand, + color = Colors.Brand24, icon = R.drawable.crown ), SHOP( title = R.string.cards__shop__title, description = R.string.cards__shop__description, - color = Colors.Yellow, + color = Colors.Yellow24, icon = R.drawable.shopping_bag ), QUICK_PAY( title = R.string.cards__quickpay__title, description = R.string.cards__quickpay__description, - color = Colors.Green, + color = Colors.Green24, icon = R.drawable.fast_forward ), + + /**Replaces SPEND when a LN channel is being force closed*/ + TRANSFER_PENDING( + title = R.string.cards__lightningSettingUp__title, + description = R.string.cards__transferPending__description, + color = Colors.Purple24, + icon = R.drawable.transfer, + dismissible = false + ), + + /**When the LN channel could not be cooped closed immediately*/ + TRANSFER_CLOSING_CHANNEL( + title = R.string.cards__transferClosingChannel__title, + description = R.string.cards__transferClosingChannel__description, + color = Colors.Red24, + icon = R.drawable.transfer, + dismissible = false + ), + + /**Replaces LIGHTNING when the transfer to spending balance is in progress*/ + LIGHTNING_SETTING_UP( + title = R.string.cards__lightningSettingUp__title, + description = R.string.cards__lightningSettingUp__description, + color = Colors.Purple24, + icon = R.drawable.transfer, + dismissible = false + ), + LIGHTNING_READY( + title = R.string.cards__lightningReady__title, + description = R.string.cards__lightningReady__description, + color = Colors.Purple24, + icon = R.drawable.transfer, + dismissible = false, + ), } fun String.toSuggestionOrNull() = Suggestion.entries.firstOrNull { it.name == this } diff --git a/app/src/main/java/to/bitkit/repositories/ActivityRepo.kt b/app/src/main/java/to/bitkit/repositories/ActivityRepo.kt index bc488a005..b870eaab7 100644 --- a/app/src/main/java/to/bitkit/repositories/ActivityRepo.kt +++ b/app/src/main/java/to/bitkit/repositories/ActivityRepo.kt @@ -8,10 +8,13 @@ import com.synonym.bitkitcore.SortDirection import kotlinx.coroutines.CoroutineDispatcher import kotlinx.coroutines.delay import kotlinx.coroutines.flow.first +import kotlinx.coroutines.flow.map import kotlinx.coroutines.withContext import org.lightningdevkit.ldknode.PaymentDetails import to.bitkit.data.CacheStore +import to.bitkit.data.dto.InProgressTransfer import to.bitkit.data.dto.PendingBoostActivity +import to.bitkit.data.dto.TransferType import to.bitkit.di.BgDispatcher import to.bitkit.ext.matchesPaymentId import to.bitkit.ext.rawId @@ -31,6 +34,8 @@ class ActivityRepo @Inject constructor( var isSyncingLdkNodePayments = false + val inProgressTransfers = cacheStore.data.map { it.inProgressTransfers } + suspend fun syncActivities(): Result = withContext(bgDispatcher) { Logger.debug("syncActivities called", context = TAG) @@ -49,6 +54,7 @@ class ActivityRepo @Inject constructor( syncLdkNodePayments(payments = payments) updateActivitiesMetadata() boostPendingActivities() + updateInProgressTransfers() isSyncingLdkNodePayments = false return@withContext Result.success(Unit) }.onFailure { e -> @@ -278,20 +284,33 @@ class ActivityRepo @Inject constructor( when (activityToUpdate) { is Activity.Onchain -> { + val onChainActivity = activityToUpdate.v1.copy( + feeRate = activityMetaData.feeRate.toULong(), + address = activityMetaData.address, + isTransfer = activityMetaData.isTransfer, + channelId = activityMetaData.channelId, + transferTxId = activityMetaData.transferTxId + ) val updatedActivity = Onchain( - v1 = activityToUpdate.v1.copy( - feeRate = activityMetaData.feeRate.toULong(), - address = activityMetaData.address, - isTransfer = activityMetaData.isTransfer, - channelId = activityMetaData.channelId, - transferTxId = activityMetaData.transferTxId - ) + v1 = onChainActivity ) updateActivity( id = updatedActivity.v1.id, activity = updatedActivity ).onSuccess { + if (onChainActivity.isTransfer && onChainActivity.doesExist) { + cacheStore.addInProgressTransfer( + InProgressTransfer( + activityId = updatedActivity.v1.id, + type = if (onChainActivity.txType == PaymentType.SENT) { + TransferType.TO_SPENDING + } else { + TransferType.TO_SAVINGS + } + ) + ) + } cacheStore.removeTransactionMetadata(activityMetaData) } } @@ -302,6 +321,18 @@ class ActivityRepo @Inject constructor( } } + private suspend fun updateInProgressTransfers() { + cacheStore.data.first().inProgressTransfers.forEach { transfer -> + getActivity(transfer.activityId).onSuccess { activity -> + (activity as? Onchain)?.let { onChain -> + if (onChain.v1.confirmed) { + cacheStore.removeInProgressTransfer(transfer) + } + } + } + } + } + private suspend fun boostPendingActivities() = withContext(bgDispatcher) { cacheStore.data.first().pendingBoostActivities.forEach { pendingBoostActivity -> findActivityByPaymentId( diff --git a/app/src/main/java/to/bitkit/ui/components/BottomSheet.kt b/app/src/main/java/to/bitkit/ui/components/BottomSheet.kt index af154f5ad..02ed82972 100644 --- a/app/src/main/java/to/bitkit/ui/components/BottomSheet.kt +++ b/app/src/main/java/to/bitkit/ui/components/BottomSheet.kt @@ -29,7 +29,7 @@ import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppShapes import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -107,7 +107,7 @@ private fun Preview() { Column( modifier = Modifier .sheetHeight(isModal = true) - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) ) { SheetTopBar("Sheet Title") diff --git a/app/src/main/java/to/bitkit/ui/components/SuggestionCard.kt b/app/src/main/java/to/bitkit/ui/components/SuggestionCard.kt index 77267a181..2e3c677b8 100644 --- a/app/src/main/java/to/bitkit/ui/components/SuggestionCard.kt +++ b/app/src/main/java/to/bitkit/ui/components/SuggestionCard.kt @@ -1,18 +1,29 @@ package to.bitkit.ui.components import androidx.annotation.DrawableRes +import androidx.compose.animation.core.RepeatMode +import androidx.compose.animation.core.animateFloat +import androidx.compose.animation.core.infiniteRepeatable +import androidx.compose.animation.core.rememberInfiniteTransition +import androidx.compose.animation.core.tween import androidx.compose.foundation.Image +import androidx.compose.foundation.border 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.padding import androidx.compose.foundation.layout.size +import androidx.compose.foundation.lazy.grid.GridCells +import androidx.compose.foundation.lazy.grid.LazyVerticalGrid +import androidx.compose.foundation.lazy.grid.items import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.ShapeDefaults import androidx.compose.runtime.Composable +import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color @@ -26,9 +37,14 @@ import androidx.compose.ui.unit.dp import to.bitkit.R import to.bitkit.models.Suggestion import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground +import to.bitkit.ui.shared.util.gradientRadialBackground import to.bitkit.ui.theme.Colors +private const val GLOW_ANIMATION_MILLIS = 1100 +private const val MIN_ALPHA_GRADIENT = 0.24f +private const val MAX_ALPHA_GRADIENT = 0.9f + @Composable fun SuggestionCard( modifier: Modifier = Modifier, @@ -38,14 +54,57 @@ fun SuggestionCard( @DrawableRes icon: Int, onClose: (() -> Unit)? = null, size: Int = 152, + disableGlow: Boolean = false, captionColor: Color = Colors.White64, onClick: () -> Unit, ) { + val isDismissible = onClose != null + + // Glow animation for non-dismissible cards + val infiniteTransition = rememberInfiniteTransition(label = "glow") + val glowAlpha by infiniteTransition.animateFloat( + initialValue = MIN_ALPHA_GRADIENT, + targetValue = MAX_ALPHA_GRADIENT, + animationSpec = infiniteRepeatable( + animation = tween(GLOW_ANIMATION_MILLIS), + repeatMode = RepeatMode.Reverse + ), + label = "glow_alpha" + ) + Box( modifier = modifier .size(size.dp) .clip(ShapeDefaults.Large) - .gradientBackground(gradientColor.copy(alpha = 0.30f)) + .then( + if (isDismissible || disableGlow) { + Modifier.gradientLinearBackground(gradientColor) + } else { + val (shadowColor, borderColor, gradientSelectedColor) = when (gradientColor) { + Colors.Purple24 -> Triple( + Color(130, 65, 175), + Color(185, 92, 232), + Color(65, 32, 80) + ) + + Colors.Red24 -> Triple( + Color(200, 48, 0), + Color(255, 68, 0), + Color(100, 24, 0) + ) + + else -> Triple( + gradientColor, + gradientColor, + gradientColor.copy(alpha = MIN_ALPHA_GRADIENT) + ) + } + + Modifier + .gradientRadialBackground(gradientSelectedColor, glowAlpha) + .border(width = 1.dp, color = borderColor, shape = ShapeDefaults.Large) + } + ) .clickableAlpha { onClick() } ) { Column( @@ -66,9 +125,9 @@ fun SuggestionCard( modifier = Modifier.weight(1f) ) - onClose?.let { + if (onClose != null) { IconButton( - onClick = it, + onClick = onClose, modifier = Modifier .size(16.dp) .testTag("SuggestionDismiss") @@ -95,18 +154,22 @@ fun SuggestionCard( } } -@Preview() +@Preview(showSystemUi = true) @Composable private fun Preview() { - Column(verticalArrangement = Arrangement.spacedBy(4.dp)) { - Suggestion.entries.map { item -> + LazyVerticalGrid( + verticalArrangement = Arrangement.spacedBy(4.dp), + columns = GridCells.Fixed(2), + modifier = Modifier.fillMaxSize(), + ) { + items(Suggestion.entries) { item -> SuggestionCard( gradientColor = item.color, title = stringResource(item.title), description = stringResource(item.description), icon = item.icon, onClose = {}, - onClick = {} + onClick = {}, // All cards are clickable ) } } diff --git a/app/src/main/java/to/bitkit/ui/components/SyncNodeView.kt b/app/src/main/java/to/bitkit/ui/components/SyncNodeView.kt index 2dfdb29ea..678977215 100644 --- a/app/src/main/java/to/bitkit/ui/components/SyncNodeView.kt +++ b/app/src/main/java/to/bitkit/ui/components/SyncNodeView.kt @@ -13,7 +13,7 @@ import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import to.bitkit.R import to.bitkit.ui.screens.transfer.components.TransferAnimationView -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -55,7 +55,7 @@ private fun Preview() { SyncNodeView( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) ) } diff --git a/app/src/main/java/to/bitkit/ui/screens/scanner/CameraPermissionView.kt b/app/src/main/java/to/bitkit/ui/screens/scanner/CameraPermissionView.kt index 72a3c4937..7cc7d2c75 100644 --- a/app/src/main/java/to/bitkit/ui/screens/scanner/CameraPermissionView.kt +++ b/app/src/main/java/to/bitkit/ui/screens/scanner/CameraPermissionView.kt @@ -34,7 +34,7 @@ import to.bitkit.ui.components.Title import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withBold @@ -70,7 +70,7 @@ fun DeniedContent( ) { Column( modifier = Modifier - .then(if (inSheet) Modifier.gradientBackground() else Modifier.background(Colors.Black)) + .then(if (inSheet) Modifier.gradientLinearBackground() else Modifier.background(Colors.Black)) .then(if (inSheet) Modifier.navigationBarsPadding() else Modifier.systemBarsPadding()) ) { if (!inSheet) { diff --git a/app/src/main/java/to/bitkit/ui/screens/scanner/QrScanningScreen.kt b/app/src/main/java/to/bitkit/ui/screens/scanner/QrScanningScreen.kt index b576f474e..16f396291 100644 --- a/app/src/main/java/to/bitkit/ui/screens/scanner/QrScanningScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/scanner/QrScanningScreen.kt @@ -75,7 +75,7 @@ import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.scaffold.AppAlertDialog import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.Colors import to.bitkit.utils.Logger import to.bitkit.viewmodels.AppViewModel @@ -213,7 +213,7 @@ fun QrScanningScreen( grantedContent = { Column( modifier = Modifier - .then(if (inSheet) Modifier.gradientBackground() else Modifier) + .then(if (inSheet) Modifier.gradientLinearBackground() else Modifier) .then(if (inSheet) Modifier.navigationBarsPadding() else Modifier.systemBarsPadding()) ) { if (inSheet) { diff --git a/app/src/main/java/to/bitkit/ui/screens/shop/shopDiscover/ShopDiscoverScreen.kt b/app/src/main/java/to/bitkit/ui/screens/shop/shopDiscover/ShopDiscoverScreen.kt index 7316c17e1..d39661b8a 100644 --- a/app/src/main/java/to/bitkit/ui/screens/shop/shopDiscover/ShopDiscoverScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/shop/shopDiscover/ShopDiscoverScreen.kt @@ -49,12 +49,14 @@ import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.CloseNavIcon import to.bitkit.ui.scaffold.ScreenColumn import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.theme.Shapes import to.bitkit.ui.utils.configureForBasicWebContent +private const val SHOP_CARD_SIZE = 164 + @OptIn(ExperimentalMaterial3Api::class) @Composable fun ShopDiscoverScreen( @@ -69,7 +71,7 @@ fun ShopDiscoverScreen( ) ScreenColumn( - modifier = Modifier.gradientBackground(), + modifier = Modifier.gradientLinearBackground(), ) { AppTopBar( titleText = stringResource(R.string.other__shop__discover__nav_title), @@ -122,12 +124,13 @@ private fun ShopTabContent( val title = stringResource(R.string.other__shop__discover__gift_cards__title) SuggestionCard( modifier = Modifier.weight(1f), - gradientColor = Colors.Green, + gradientColor = Colors.Green24, title = title, description = stringResource(R.string.other__shop__discover__gift_cards__description), icon = R.drawable.gift, captionColor = Colors.Gray1, - size = 164, + size = SHOP_CARD_SIZE, + disableGlow = true, onClick = { navigateWebView("gift-cards", title) }, @@ -135,12 +138,13 @@ private fun ShopTabContent( val title2 = stringResource(R.string.other__shop__discover__esims__title) SuggestionCard( modifier = Modifier.weight(1f), - gradientColor = Colors.Yellow, + gradientColor = Colors.Yellow24, title = title2, description = stringResource(R.string.other__shop__discover__esims__description), icon = R.drawable.globe, captionColor = Colors.Gray1, - size = 164, + size = SHOP_CARD_SIZE, + disableGlow = true, onClick = { navigateWebView("esims", title2) }, @@ -155,12 +159,13 @@ private fun ShopTabContent( val title = stringResource(R.string.other__shop__discover__refill__title) SuggestionCard( modifier = Modifier.weight(1f), - gradientColor = Colors.Purple, + gradientColor = Colors.Purple24, title = title, description = stringResource(R.string.other__shop__discover__refill__description), icon = R.drawable.phone, captionColor = Colors.Gray1, - size = 164, + size = SHOP_CARD_SIZE, + disableGlow = true, onClick = { navigateWebView("refill", title) }, @@ -168,11 +173,12 @@ private fun ShopTabContent( val title2 = stringResource(R.string.other__shop__discover__travel__title) SuggestionCard( modifier = Modifier.weight(1f), - gradientColor = Colors.Red, + gradientColor = Colors.Red24, title = title2, description = stringResource(R.string.other__shop__discover__travel__description), icon = R.drawable.rocket_2, - size = 164, + size = SHOP_CARD_SIZE, + disableGlow = true, captionColor = Colors.Gray1, onClick = { navigateWebView("buy/travel", title2) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt index c39e55b94..9cbca84bb 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeScreen.kt @@ -223,6 +223,11 @@ fun HomeScreen( rootNavController.navigate(Routes.QuickPaySettings) } } + + Suggestion.TRANSFER_PENDING -> Unit + Suggestion.TRANSFER_CLOSING_CHANNEL -> Unit + Suggestion.LIGHTNING_SETTING_UP -> Unit // TODO Navigate to transfer + Suggestion.LIGHTNING_READY -> Unit } }, onClickAddWidget = { @@ -372,7 +377,9 @@ private fun Content( horizontalArrangement = Arrangement.spacedBy(16.dp), state = state, flingBehavior = snapBehavior, - modifier = Modifier.fillMaxWidth().testTag("Suggestions") + modifier = Modifier + .fillMaxWidth() + .testTag("Suggestions") ) { items(homeUiState.suggestions, key = { it.name }) { item -> SuggestionCard( @@ -380,7 +387,7 @@ private fun Content( title = stringResource(item.title), description = stringResource(item.description), icon = item.icon, - onClose = { onRemoveSuggestion(item) }, + onClose = { onRemoveSuggestion(item) }.takeIf { item.dismissible }, onClick = { onClickSuggestion(item) }, modifier = Modifier.testTag("Suggestion-${item.name.lowercase()}") ) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt index 2a52abfa6..6f17e12b6 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/HomeViewModel.kt @@ -14,12 +14,14 @@ import kotlinx.coroutines.flow.update import kotlinx.coroutines.launch import kotlinx.datetime.Clock import to.bitkit.data.SettingsStore +import to.bitkit.data.dto.TransferType import to.bitkit.models.Suggestion import to.bitkit.models.WidgetType import to.bitkit.models.toSuggestionOrNull import to.bitkit.models.widget.ArticleModel import to.bitkit.models.widget.toArticleModel import to.bitkit.models.widget.toBlockModel +import to.bitkit.repositories.ActivityRepo import to.bitkit.repositories.CurrencyRepo import to.bitkit.repositories.WalletRepo import to.bitkit.repositories.WidgetsRepo @@ -33,7 +35,8 @@ class HomeViewModel @Inject constructor( private val walletRepo: WalletRepo, private val widgetsRepo: WidgetsRepo, private val settingsStore: SettingsStore, - private val currencyRepo: CurrencyRepo + private val currencyRepo: CurrencyRepo, + private val activityRepo: ActivityRepo, ) : ViewModel() { private val _uiState = MutableStateFlow(HomeUiState()) @@ -255,11 +258,20 @@ class HomeViewModel @Inject constructor( private fun createSuggestionsFlow() = combine( walletRepo.balanceState, settingsStore.data, - ) { balanceState, settings -> + activityRepo.inProgressTransfers + ) { balanceState, settings, transfers -> val baseSuggestions = when { balanceState.totalLightningSats > 0uL -> { // With Lightning listOfNotNull( Suggestion.BACK_UP.takeIf { !settings.backupVerified }, + // The previous list has LIGHTNING_SETTING_UP and the current don't + Suggestion.LIGHTNING_READY.takeIf { + Suggestion.LIGHTNING_SETTING_UP in _uiState.value.suggestions && + transfers.all { it.type != TransferType.TO_SPENDING } + }, + Suggestion.LIGHTNING_SETTING_UP.takeIf { transfers.any { it.type == TransferType.TO_SPENDING } }, + Suggestion.TRANSFER_CLOSING_CHANNEL.takeIf { transfers.any { it.type == TransferType.COOP_CLOSE } }, + Suggestion.TRANSFER_PENDING.takeIf { transfers.any { it.type == TransferType.FORCE_CLOSE } }, Suggestion.SECURE.takeIf { !settings.isPinEnabled }, Suggestion.BUY, Suggestion.SUPPORT, @@ -273,7 +285,11 @@ class HomeViewModel @Inject constructor( balanceState.totalOnchainSats > 0uL -> { // Only on chain balance listOfNotNull( Suggestion.BACK_UP.takeIf { !settings.backupVerified }, - Suggestion.LIGHTNING, + Suggestion.LIGHTNING.takeIf { + transfers.all { it.type != TransferType.TO_SPENDING } + } ?: Suggestion.LIGHTNING_SETTING_UP, + Suggestion.TRANSFER_CLOSING_CHANNEL.takeIf { transfers.any { it.type == TransferType.COOP_CLOSE } }, + Suggestion.TRANSFER_PENDING.takeIf { transfers.any { it.type == TransferType.FORCE_CLOSE } }, Suggestion.SECURE.takeIf { !settings.isPinEnabled }, Suggestion.BUY, Suggestion.SUPPORT, @@ -286,7 +302,9 @@ class HomeViewModel @Inject constructor( else -> { // Empty wallet listOfNotNull( Suggestion.BUY, - Suggestion.LIGHTNING, + Suggestion.LIGHTNING.takeIf { + transfers.all { it.type != TransferType.TO_SPENDING } + } ?: Suggestion.LIGHTNING_SETTING_UP, Suggestion.BACK_UP.takeIf { !settings.backupVerified }, Suggestion.SECURE.takeIf { !settings.isPinEnabled }, Suggestion.SUPPORT, diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/DateRangeSelectorSheet.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/DateRangeSelectorSheet.kt index 72b41f612..b0f4d4038 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/DateRangeSelectorSheet.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/DateRangeSelectorSheet.kt @@ -31,7 +31,7 @@ import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.SecondaryButton import to.bitkit.ui.components.SheetSize import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import kotlin.time.Duration.Companion.days @@ -79,7 +79,7 @@ private fun Content( modifier = Modifier .fillMaxWidth() .sheetHeight(SheetSize.CALENDAR) - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .padding(horizontal = 16.dp) ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/TagSelectorSheet.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/TagSelectorSheet.kt index cbce2f104..68103fb2b 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/activity/TagSelectorSheet.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/activity/TagSelectorSheet.kt @@ -28,7 +28,7 @@ import to.bitkit.ui.components.SheetSize import to.bitkit.ui.components.TagButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface @Composable @@ -64,7 +64,7 @@ private fun Content( modifier = Modifier .fillMaxWidth() .sheetHeight(SheetSize.SMALL) - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .padding(horizontal = 16.dp) ) { 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 e8cadb708..1ffe1ce1a 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 @@ -15,7 +15,7 @@ import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.SheetSize import to.bitkit.ui.screens.wallets.send.AddTagContent import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.viewmodels.ActivityDetailViewModel import to.bitkit.viewmodels.ActivityListViewModel @@ -66,7 +66,7 @@ fun ActivityAddTagSheet( addButtonTestTag = "ActivityTagsSubmit", modifier = Modifier .sheetHeight(SheetSize.SMALL, isModal = true) - .gradientBackground() + .gradientLinearBackground() ) } } @@ -86,7 +86,7 @@ private fun Preview() { onBack = {}, modifier = Modifier .sheetHeight(SheetSize.SMALL, isModal = true) - .gradientBackground() + .gradientLinearBackground() ) } } diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/EditInvoiceScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/EditInvoiceScreen.kt index 445b12c78..687ed9a10 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/EditInvoiceScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/EditInvoiceScreen.kt @@ -62,7 +62,7 @@ import to.bitkit.ui.currencyViewModel import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppTextFieldDefaults import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -181,7 +181,7 @@ fun EditInvoiceContent( BoxWithConstraints( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { val maxHeight = this.maxHeight diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/LocationBlockScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/LocationBlockScreen.kt index 5b00aa4f5..917fa3792 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/LocationBlockScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/LocationBlockScreen.kt @@ -21,7 +21,7 @@ import to.bitkit.ui.components.BottomSheetPreview import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -34,7 +34,7 @@ fun LocationBlockScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__receive_bitcoin), onBack = onBackPressed) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveAmountScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveAmountScreen.kt index d17e6b1ec..5cd8f4a57 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveAmountScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveAmountScreen.kt @@ -42,7 +42,7 @@ import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.UnitButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.Colors import to.bitkit.ui.walletViewModel import to.bitkit.utils.Logger @@ -71,7 +71,7 @@ fun ReceiveAmountScreen( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__receive_bitcoin), onBack = onBack) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveConfirmScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveConfirmScreen.kt index 73d784281..4ec2e68e2 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveConfirmScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveConfirmScreen.kt @@ -39,7 +39,7 @@ import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.currencyViewModel import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -120,7 +120,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__receive_bitcoin), onBack = onBackClick) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveLiquidityScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveLiquidityScreen.kt index 7f9cfe3e0..831fe0689 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveLiquidityScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveLiquidityScreen.kt @@ -22,7 +22,7 @@ import to.bitkit.ui.components.LightningChannel import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import kotlin.math.round @@ -45,7 +45,7 @@ fun ReceiveLiquidityScreen( Column( modifier = modifier .fillMaxWidth() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar( diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveQrScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveQrScreen.kt index 980ecb833..3707d8d38 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveQrScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/receive/ReceiveQrScreen.kt @@ -61,7 +61,7 @@ import to.bitkit.ui.components.QrCodeImage import to.bitkit.ui.components.Tooltip import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.shared.util.shareQrCode import to.bitkit.ui.shared.util.shareText import to.bitkit.ui.theme.AppShapes @@ -123,7 +123,7 @@ fun ReceiveQrScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__receive_bitcoin)) @@ -537,7 +537,7 @@ private fun PreviewSlide2() { AppThemeSurface { Column( modifier = Modifier - .gradientBackground() + .gradientLinearBackground() .padding(16.dp) ) { CopyValuesSlide( diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/AddTagScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/AddTagScreen.kt index 719039b16..5cf1f8175 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/AddTagScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/AddTagScreen.kt @@ -34,7 +34,7 @@ import to.bitkit.ui.components.TextInput 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.theme.TRANSITION_SCREEN_MS @@ -87,7 +87,7 @@ fun AddTagContent( } Column( modifier = modifier - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__tags_add), onBack = onBack) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAddressScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAddressScreen.kt index 7437cdc94..30cec4cc3 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAddressScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAddressScreen.kt @@ -26,7 +26,7 @@ import to.bitkit.ui.components.TextInput 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppTextStyles import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -49,7 +49,7 @@ fun SendAddressScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__send_bitcoin)) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAmountScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAmountScreen.kt index 3de678222..1e9ecf1fb 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAmountScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAmountScreen.kt @@ -55,7 +55,7 @@ import to.bitkit.ui.currencyViewModel import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.CurrencyUiState @@ -133,7 +133,7 @@ fun SendAmountContent( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("send_amount_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendCoinSelectionScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendCoinSelectionScreen.kt index 87c6cf7c8..79e729e02 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendCoinSelectionScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendCoinSelectionScreen.kt @@ -46,7 +46,7 @@ import to.bitkit.ui.currencyViewModel import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppSwitchDefaults import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -95,7 +95,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("coin_selection_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendConfirmScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendConfirmScreen.kt index 664a299ed..1be48029e 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendConfirmScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendConfirmScreen.kt @@ -67,7 +67,7 @@ import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.settingsViewModel import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.rememberBiometricAuthSupported @@ -171,7 +171,7 @@ private fun Content( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { val isLnurlPay = uiState.lnurl is LnurlParams.LnurlPay diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendErrorScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendErrorScreen.kt index 9ee8437f9..0be0f87f1 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendErrorScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendErrorScreen.kt @@ -24,7 +24,7 @@ import to.bitkit.ui.components.PrimaryButton 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 +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -52,7 +52,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__send_error_tx_failed)) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeCustomScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeCustomScreen.kt index fba8ff451..0c1ec53a7 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeCustomScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeCustomScreen.kt @@ -29,7 +29,7 @@ import to.bitkit.ui.components.VerticalSpacer import to.bitkit.ui.components.settings.SectionHeader import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -70,7 +70,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("fee_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeRateScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeRateScreen.kt index 6da22c346..d2a2deafc 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeRateScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendFeeRateScreen.kt @@ -43,7 +43,7 @@ import to.bitkit.ui.components.settings.SectionHeader import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.SendUiState @@ -81,7 +81,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("speed_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendPinCheckScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendPinCheckScreen.kt index c9fabeab9..24fd35552 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendPinCheckScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendPinCheckScreen.kt @@ -33,7 +33,7 @@ import to.bitkit.ui.components.PinDots import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -87,7 +87,7 @@ private fun PinCheckContent( Column( modifier = modifier - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar( diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendQuickPayScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendQuickPayScreen.kt index 922b95f74..92b770eb1 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendQuickPayScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendQuickPayScreen.kt @@ -27,7 +27,7 @@ import to.bitkit.ui.components.SyncNodeView import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.screens.transfer.components.TransferAnimationView import to.bitkit.ui.shared.modifiers.sheetHeight -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -81,7 +81,7 @@ private fun Content( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__send_quickpay__nav_title)) 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 a964df902..65ad9e010 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 @@ -27,7 +27,7 @@ import to.bitkit.ui.components.RectangleButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.SendEvent @@ -42,7 +42,7 @@ fun SendRecipientScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(titleText = stringResource(R.string.wallet__send_bitcoin)) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawConfirmScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawConfirmScreen.kt index b380dfb2e..706e45b7a 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawConfirmScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawConfirmScreen.kt @@ -22,7 +22,7 @@ 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.SendUiState @@ -37,7 +37,7 @@ fun WithdrawConfirmScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.wallet__lnurl_w_title)) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawErrorScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawErrorScreen.kt index bae5d34bf..2447228b1 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawErrorScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/withdraw/WithdrawErrorScreen.kt @@ -25,7 +25,7 @@ import to.bitkit.ui.components.SecondaryButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.SendUiState @@ -41,7 +41,7 @@ fun WithdrawErrorScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar(stringResource(R.string.other__lnurl_withdr_error)) { 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 bbeb48655..9a950d1ef 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 @@ -27,7 +27,7 @@ import to.bitkit.ui.components.SecondaryButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -42,7 +42,7 @@ fun BackupIntroScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_intro_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmMnemonicScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmMnemonicScreen.kt index 1abf43da4..39c382876 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmMnemonicScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmMnemonicScreen.kt @@ -34,7 +34,7 @@ import to.bitkit.ui.components.BodyMSB import to.bitkit.ui.components.ButtonSize import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.utils.bip39Words @@ -127,7 +127,7 @@ private fun ConfirmMnemonicContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_confirm_mnemonic_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmPassphraseScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmPassphraseScreen.kt index b2f0f1a48..c7a6aa99e 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmPassphraseScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/ConfirmPassphraseScreen.kt @@ -25,7 +25,7 @@ import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.components.TextInput import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -61,7 +61,7 @@ private fun ConfirmPassphraseContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .imePadding() .testTag("backup_confirm_passphrase_screen") diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/MetadataScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/MetadataScreen.kt index 75f56d78f..d5b55b325 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/MetadataScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/MetadataScreen.kt @@ -24,7 +24,7 @@ import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.BodyS import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withBold @@ -53,7 +53,7 @@ private fun MetadataContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_metadata_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/MultipleDevicesScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/MultipleDevicesScreen.kt index af0714f43..9553f0378 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/MultipleDevicesScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/MultipleDevicesScreen.kt @@ -21,7 +21,7 @@ import to.bitkit.R import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -44,7 +44,7 @@ private fun MultipleDevicesContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("multiple_devices_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/ShowMnemonicScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/ShowMnemonicScreen.kt index 858ef1d87..b9eaa79ae 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/ShowMnemonicScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/ShowMnemonicScreen.kt @@ -54,7 +54,7 @@ import to.bitkit.ui.components.PrimaryButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -123,7 +123,7 @@ private fun ShowMnemonicContent( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_show_mnemonic_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/ShowPassphraseScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/ShowPassphraseScreen.kt index f6aba2521..76fb9f748 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/ShowPassphraseScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/ShowPassphraseScreen.kt @@ -23,7 +23,7 @@ import to.bitkit.ui.components.BodyMSB import to.bitkit.ui.components.BodyS import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -50,7 +50,7 @@ private fun ShowPassphraseContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_show_passphrase_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/SuccessScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/SuccessScreen.kt index 7d6948412..56897bc49 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/SuccessScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/SuccessScreen.kt @@ -21,7 +21,7 @@ import to.bitkit.R import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccentBoldBright @@ -48,7 +48,7 @@ private fun SuccessContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_success_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/backups/WarningScreen.kt b/app/src/main/java/to/bitkit/ui/settings/backups/WarningScreen.kt index 1849a7458..fff488fe2 100644 --- a/app/src/main/java/to/bitkit/ui/settings/backups/WarningScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/backups/WarningScreen.kt @@ -21,7 +21,7 @@ import to.bitkit.R import to.bitkit.ui.components.BodyM import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccentBoldBright @@ -45,7 +45,7 @@ private fun WarningContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("backup_warning_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/pin/PinBiometricsScreen.kt b/app/src/main/java/to/bitkit/ui/settings/pin/PinBiometricsScreen.kt index c8345e6c2..3415ca512 100644 --- a/app/src/main/java/to/bitkit/ui/settings/pin/PinBiometricsScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/pin/PinBiometricsScreen.kt @@ -39,7 +39,7 @@ import to.bitkit.ui.components.SecondaryButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.settingsViewModel import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppSwitchDefaults import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -93,7 +93,7 @@ private fun AskForBiometricsContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) .navigationBarsPadding() ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/pin/PinChooseScreen.kt b/app/src/main/java/to/bitkit/ui/settings/pin/PinChooseScreen.kt index 94b146491..79a60f57f 100644 --- a/app/src/main/java/to/bitkit/ui/settings/pin/PinChooseScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/pin/PinChooseScreen.kt @@ -23,7 +23,7 @@ import to.bitkit.ui.components.KEY_DELETE import to.bitkit.ui.components.NumberPadSimple import to.bitkit.ui.components.PinDots import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -37,7 +37,7 @@ fun PinChooseScreen( Column( modifier = Modifier .fillMaxWidth() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { diff --git a/app/src/main/java/to/bitkit/ui/settings/pin/PinConfirmScreen.kt b/app/src/main/java/to/bitkit/ui/settings/pin/PinConfirmScreen.kt index de3b7d2fa..4445b70ea 100644 --- a/app/src/main/java/to/bitkit/ui/settings/pin/PinConfirmScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/pin/PinConfirmScreen.kt @@ -30,7 +30,7 @@ import to.bitkit.ui.components.KEY_DELETE import to.bitkit.ui.components.NumberPadSimple import to.bitkit.ui.components.PinDots import to.bitkit.ui.scaffold.SheetTopBar -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -84,7 +84,7 @@ private fun ConfirmPinContent( Column( modifier = modifier .fillMaxWidth() - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() ) { SheetTopBar( 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 4022f43de..a8bb81ffa 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 @@ -30,7 +30,7 @@ import to.bitkit.ui.components.SecondaryButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -45,7 +45,7 @@ fun PinPromptScreen( Column( modifier = modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) .navigationBarsPadding() .testTag("SecureWallet") diff --git a/app/src/main/java/to/bitkit/ui/settings/pin/PinResultScreen.kt b/app/src/main/java/to/bitkit/ui/settings/pin/PinResultScreen.kt index 4e2c58247..b860fbb05 100644 --- a/app/src/main/java/to/bitkit/ui/settings/pin/PinResultScreen.kt +++ b/app/src/main/java/to/bitkit/ui/settings/pin/PinResultScreen.kt @@ -30,7 +30,7 @@ import to.bitkit.ui.components.PrimaryButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.settingsViewModel import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppSwitchDefaults import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -64,7 +64,7 @@ private fun PinResultContent( Column( modifier = Modifier .fillMaxSize() - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) .navigationBarsPadding() ) { diff --git a/app/src/main/java/to/bitkit/ui/shared/util/Modifiers.kt b/app/src/main/java/to/bitkit/ui/shared/util/Modifiers.kt index aa0aa997b..88ea758eb 100644 --- a/app/src/main/java/to/bitkit/ui/shared/util/Modifiers.kt +++ b/app/src/main/java/to/bitkit/ui/shared/util/Modifiers.kt @@ -65,7 +65,7 @@ fun Modifier.clickableAlpha( ) } -fun Modifier.gradientBackground(startColor: Color = Colors.Gray6, endColor: Color = Colors.Black): Modifier { +fun Modifier.gradientLinearBackground(startColor: Color = Colors.Gray6, endColor: Color = Colors.Black): Modifier { return this.background( brush = Brush.verticalGradient( colors = listOf(startColor, endColor) @@ -73,6 +73,22 @@ fun Modifier.gradientBackground(startColor: Color = Colors.Gray6, endColor: Colo ) } +fun Modifier.gradientRadialBackground( + centerColor: Color, + glowAlpha: Float = 1f, +): Modifier { + return this + .background( + brush = Brush.radialGradient( + colors = listOf( + centerColor.copy(alpha = glowAlpha * 0.10f), + centerColor.copy(alpha = glowAlpha), + ), + ) + ) +} + + fun Modifier.blockPointerInputPassthrough(): Modifier { return this.pointerInput(Unit) { awaitPointerEventScope { diff --git a/app/src/main/java/to/bitkit/ui/sheets/BoostTransactionSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/BoostTransactionSheet.kt index 04863a048..0fd180112 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/BoostTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/BoostTransactionSheet.kt @@ -50,7 +50,7 @@ import to.bitkit.ui.components.rememberMoneyText import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.shared.modifiers.sheetHeight import to.bitkit.ui.shared.util.clickableAlpha -import to.bitkit.ui.shared.util.gradientBackground +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.utils.withAccent @@ -127,7 +127,7 @@ fun BoostTransactionContent( verticalArrangement = Arrangement.Center, modifier = modifier .sheetHeight(SheetSize.SMALL) - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .padding(horizontal = 16.dp) .testTag(BoostTransactionTestTags.BOOST_TRANSACTION_CONTENT) diff --git a/app/src/main/java/to/bitkit/ui/sheets/ForgotPinSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/ForgotPinSheet.kt index 5f534cbde..499f30ab5 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/ForgotPinSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/ForgotPinSheet.kt @@ -23,7 +23,7 @@ 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -53,7 +53,7 @@ private fun Content( modifier = modifier .fillMaxWidth() .sheetHeight(isModal = true) - .gradientBackground() + .gradientLinearBackground() .padding(horizontal = 16.dp) ) { SheetTopBar(stringResource(R.string.security__pin_forgot_title)) 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 f453d0e9e..15c59eeb7 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/HighBalanceWarningSheet.kt @@ -26,7 +26,7 @@ import to.bitkit.ui.components.SecondaryButton 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppTextStyles import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors @@ -56,7 +56,7 @@ fun HighBalanceWarningContent( modifier = Modifier .fillMaxWidth() .sheetHeight(isModal = true) - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .testTag("high_balance_intro_screen") ) { diff --git a/app/src/main/java/to/bitkit/ui/sheets/LnurlAuthSheet.kt b/app/src/main/java/to/bitkit/ui/sheets/LnurlAuthSheet.kt index 909fd2d63..80c82f2b1 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/LnurlAuthSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/LnurlAuthSheet.kt @@ -25,7 +25,7 @@ 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.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.viewmodels.AppViewModel @@ -58,7 +58,7 @@ private fun Content( Column( modifier = modifier .sheetHeight(SheetSize.MEDIUM) - .gradientBackground() + .gradientLinearBackground() .navigationBarsPadding() .padding(horizontal = 16.dp) ) { 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 3cd9415cd..2da78eecb 100644 --- a/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt +++ b/app/src/main/java/to/bitkit/ui/sheets/NewTransactionSheet.kt @@ -40,7 +40,7 @@ import to.bitkit.ui.components.PrimaryButton 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 +import to.bitkit.ui.shared.util.gradientLinearBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.utils.localizedRandom import to.bitkit.viewmodels.AppViewModel @@ -85,7 +85,7 @@ fun NewTransactionSheetView( Box( modifier = Modifier .sheetHeight(isModal = true) - .gradientBackground() + .gradientLinearBackground() .testTag("new_transaction_sheet") ) { if (details.direction == NewTransactionSheetDirection.RECEIVED) { diff --git a/app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt b/app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt index 2d431078c..d76f07ec3 100644 --- a/app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt +++ b/app/src/main/java/to/bitkit/viewmodels/TransferViewModel.kt @@ -504,7 +504,7 @@ class TransferViewModel @Inject constructor( coopCloseRetryJob = viewModelScope.launch { val giveUpTime = startTimeMs + GIVE_UP_MS - + // TODO cache TransferType: COOP_CLOSE, FORCE_CLOSE and TO_SAVINGS while (isActive && System.currentTimeMillis() < giveUpTime) { Logger.info("Trying coop close...") val channelsFailedToCoopClose = closeChannels(channelsToClose)