diff --git a/app/src/main/java/to/bitkit/ui/components/SheetHost.kt b/app/src/main/java/to/bitkit/ui/components/SheetHost.kt index f94c08e8f..a1cd3da0c 100644 --- a/app/src/main/java/to/bitkit/ui/components/SheetHost.kt +++ b/app/src/main/java/to/bitkit/ui/components/SheetHost.kt @@ -66,7 +66,7 @@ fun SheetHost( sheetPeekHeight = 0.dp, sheetShape = AppShapes.sheet, sheetContent = sheets, - sheetContainerColor = MaterialTheme.colorScheme.surface, + sheetContainerColor = Colors.Gray6, sheetContentColor = MaterialTheme.colorScheme.onSurface, ) { content() diff --git a/app/src/main/java/to/bitkit/ui/scaffold/SheetTopBar.kt b/app/src/main/java/to/bitkit/ui/scaffold/SheetTopBar.kt index 786b0022d..75a35520f 100644 --- a/app/src/main/java/to/bitkit/ui/scaffold/SheetTopBar.kt +++ b/app/src/main/java/to/bitkit/ui/scaffold/SheetTopBar.kt @@ -1,23 +1,27 @@ package to.bitkit.ui.scaffold -import androidx.compose.foundation.layout.RowScope +import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsetsSides +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.only +import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.statusBars +import androidx.compose.foundation.layout.windowInsetsPadding import androidx.compose.material.icons.Icons import androidx.compose.material.icons.automirrored.filled.ArrowBack -import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Icon import androidx.compose.material3.IconButton import androidx.compose.material3.MaterialTheme import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.font.FontWeight +import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import to.bitkit.R @@ -27,31 +31,36 @@ import to.bitkit.ui.theme.AppThemeSurface @OptIn(ExperimentalMaterial3Api::class) fun SheetTopBar( titleText: String, - actions: @Composable (RowScope.() -> Unit) = {}, onBack: (() -> Unit)? = null, ) { - CenterAlignedTopAppBar( - navigationIcon = { - onBack?.let { callback -> - IconButton(onClick = callback) { - Icon( - imageVector = Icons.AutoMirrored.Default.ArrowBack, - contentDescription = stringResource(R.string.back), - modifier = Modifier.size(24.dp) - ) - } + Box( + modifier = Modifier.fillMaxWidth() + ) { + Text( + text = titleText, + style = MaterialTheme.typography.titleMedium, + fontWeight = FontWeight.ExtraBold, + textAlign = TextAlign.Center, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 24.dp) + .align(Alignment.Center), + ) + + onBack?.let { callback -> + IconButton(onClick = callback, modifier = Modifier.align(Alignment.CenterStart)) { + Icon( + imageVector = Icons.AutoMirrored.Default.ArrowBack, + contentDescription = stringResource(R.string.back), + modifier = Modifier + .size(24.dp) + .windowInsetsPadding( + WindowInsets.statusBars.only(WindowInsetsSides.Horizontal) + ) + ) } - }, - title = { - Text( - text = titleText, - style = MaterialTheme.typography.titleMedium, - fontWeight = FontWeight.ExtraBold, - ) - }, - actions = actions, - windowInsets = WindowInsets.statusBars.only(WindowInsetsSides.Horizontal), - ) + } + } } @Preview(showBackground = true) 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 f72e00716..dcc4526bf 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 @@ -51,6 +51,7 @@ import to.bitkit.R import to.bitkit.ui.appViewModel import to.bitkit.ui.scaffold.AppTopBar import to.bitkit.ui.scaffold.ScreenColumn +import to.bitkit.ui.shared.util.gradientBackground import to.bitkit.utils.Logger import java.util.concurrent.Executors @@ -137,7 +138,7 @@ fun QrScanningScreen( ) }, grantedContent = { - ScreenColumn { + ScreenColumn(modifier = Modifier.gradientBackground()) { AppTopBar(stringResource(R.string.title_scan), onBackClick = { navController.popBackStack() }) Content(previewView = previewView) } 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 8db00469d..e03ac91ca 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 @@ -8,6 +8,7 @@ import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.wrapContentHeight import androidx.compose.runtime.Composable @@ -39,6 +40,8 @@ fun TagSelectorSheet( ) { SheetTopBar(stringResource(R.string.wallet__tags_filter_title)) + Spacer(modifier = Modifier.height(16.dp)) + FlowRow( modifier = Modifier .fillMaxWidth() 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 b3cb40c7e..41dda601d 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 @@ -81,6 +81,8 @@ fun ReceiveQRScreen( ) { SheetTopBar(stringResource(R.string.title_receive)) + Spacer(Modifier.height(16.dp)) + val navController = rememberNavController() NavHost( navController = navController, 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 13f4d7343..4c8d64d3c 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 @@ -70,6 +70,8 @@ fun AddTagContent( onBack() } + Spacer(Modifier.height(32.dp)) + Column( modifier = Modifier .padding(horizontal = 16.dp) 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 3fb6f27e3..f7f800291 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 @@ -40,6 +40,9 @@ fun SendAddressScreen( onEvent(SendEvent.AddressReset) onBack() } + + Spacer(Modifier.height(32.dp)) + Column( modifier = Modifier.padding(horizontal = 16.dp) ) { 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 8b4f2adf1..93d104dbb 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 @@ -49,6 +49,9 @@ fun SendAmountScreen( onEvent(SendEvent.AmountReset) onBack() } + + Spacer(Modifier.height(16.dp)) + Column( modifier = Modifier.padding(horizontal = 16.dp) ) { diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAndReviewScreen.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAndReviewScreen.kt index 6ef95118e..1ba4af4a9 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAndReviewScreen.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendAndReviewScreen.kt @@ -70,6 +70,9 @@ fun SendAndReviewScreen( SheetTopBar(stringResource(R.string.title_send_review)) { onBack() } + + Spacer(Modifier.height(16.dp)) + Column( modifier = Modifier .padding(horizontal = 16.dp) diff --git a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendOptionsView.kt b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendOptionsView.kt index fd439b356..9b82a1579 100644 --- a/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendOptionsView.kt +++ b/app/src/main/java/to/bitkit/ui/screens/wallets/send/SendOptionsView.kt @@ -36,6 +36,7 @@ import to.bitkit.ui.components.Caption13Up import to.bitkit.ui.components.RectangleButton import to.bitkit.ui.scaffold.SheetTopBar import to.bitkit.ui.screens.scanner.QrScanningScreen +import to.bitkit.ui.shared.util.gradientBackground import to.bitkit.ui.theme.AppThemeSurface import to.bitkit.ui.theme.Colors import to.bitkit.ui.theme.Colors.Black25 @@ -53,7 +54,6 @@ fun SendOptionsView( modifier = Modifier .fillMaxWidth() .fillMaxHeight(.875f) - .background(Black25) .imePadding() ) { val navController = rememberNavController() @@ -132,10 +132,11 @@ private fun SendOptionsContent( Column( modifier = Modifier .fillMaxSize() - .background(Black25) + .gradientBackground() .padding(horizontal = 16.dp) ) { SheetTopBar(stringResource(R.string.title_send)) + Spacer(Modifier.height(32.dp)) Caption13Up(text = stringResource(R.string.wallet__send_to)) Spacer(modifier = Modifier.height(16.dp)) 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 097e28809..61137c034 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 @@ -1,5 +1,6 @@ package to.bitkit.ui.shared.util +import androidx.compose.foundation.background import androidx.compose.foundation.clickable import androidx.compose.foundation.interaction.MutableInteractionSource import androidx.compose.foundation.interaction.collectIsPressedAsState @@ -7,7 +8,9 @@ import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.composed +import androidx.compose.ui.graphics.Brush import androidx.compose.ui.graphics.graphicsLayer +import to.bitkit.ui.theme.Colors /** * Adjusts the alpha of a composable when it is pressed and makes it clickable. @@ -31,3 +34,12 @@ fun Modifier.clickableAlpha( indication = null, ) } + + +fun Modifier.gradientBackground(): Modifier { + return Modifier.background( + brush = Brush.verticalGradient( + colors = listOf(Colors.Gray6, Colors.Black) + ) + ) +}