fix: Use nav bar color for the selection bar

This commit is contained in:
Artem Chepurnoy 2024-02-25 22:54:52 +02:00
parent 02497233dc
commit 92718d2fab
No known key found for this signature in database
GPG Key ID: FAC37D0CF674043E

View File

@ -1,5 +1,6 @@
package com.artemchep.keyguard.ui.selection package com.artemchep.keyguard.ui.selection
import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.RowScope import androidx.compose.foundation.layout.RowScope
@ -19,7 +20,6 @@ import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton import androidx.compose.material3.IconButton
import androidx.compose.material3.LocalTextStyle import androidx.compose.material3.LocalTextStyle
import androidx.compose.material3.MaterialTheme import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
@ -27,6 +27,7 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import com.artemchep.keyguard.platform.leNavigationBars import com.artemchep.keyguard.platform.leNavigationBars
import com.artemchep.keyguard.ui.icons.IconBox import com.artemchep.keyguard.ui.icons.IconBox
import com.artemchep.keyguard.ui.surface.LocalBackgroundManager
import com.artemchep.keyguard.ui.theme.Dimens import com.artemchep.keyguard.ui.theme.Dimens
import com.artemchep.keyguard.ui.util.HorizontalDivider import com.artemchep.keyguard.ui.util.HorizontalDivider
@ -36,66 +37,62 @@ fun SelectionBar(
trailing: (@Composable RowScope.() -> Unit)? = null, trailing: (@Composable RowScope.() -> Unit)? = null,
onClear: (() -> Unit)?, onClear: (() -> Unit)?,
) { ) {
Column { Column(
Surface( modifier = Modifier
.fillMaxWidth()
.background(LocalBackgroundManager.current.colorHighest),
) {
val navBarInsets = WindowInsets.leNavigationBars
.only(WindowInsetsSides.Bottom)
Row(
modifier = Modifier modifier = Modifier
.fillMaxWidth(), .heightIn(min = 56.dp)
tonalElevation = 3.dp, .windowInsetsPadding(navBarInsets),
verticalAlignment = Alignment.CenterVertically,
) { ) {
val navBarInsets = WindowInsets.leNavigationBars IconButton(
.only(WindowInsetsSides.Bottom) enabled = onClear != null,
onClick = {
onClear?.invoke()
},
) {
// TODO: Consider using Icons.Outlined.Deselect
Icon(
Icons.Outlined.Clear,
null,
)
}
Row( Row(
modifier = Modifier modifier = Modifier
.heightIn(min = 56.dp) .weight(1f),
.windowInsetsPadding(navBarInsets),
verticalAlignment = Alignment.CenterVertically,
) { ) {
IconButton( Button(
enabled = onClear != null, onClick = { /*TODO*/ },
onClick = {
onClear?.invoke()
},
) { ) {
// TODO: Consider using Icons.Outlined.Deselect IconBox(
Icon( main = Icons.Outlined.ViewList,
Icons.Outlined.Clear, secondary = null, // Icons.Outlined.PanoramaFishEye,
null,
) )
} if (title != null) {
Row( Spacer(
modifier = Modifier modifier = Modifier
.weight(1f), .width(Dimens.buttonIconPadding),
) {
Button(
onClick = { /*TODO*/ },
) {
IconBox(
main = Icons.Outlined.ViewList,
secondary = null, // Icons.Outlined.PanoramaFishEye,
) )
if (title != null) { title.invoke(this)
Spacer(
modifier = Modifier
.width(Dimens.buttonIconPadding),
)
title.invoke(this)
}
}
val textStyle = MaterialTheme.typography.titleMedium
CompositionLocalProvider(
LocalTextStyle provides textStyle,
) {
} }
} }
Spacer( val textStyle = MaterialTheme.typography.titleMedium
modifier = Modifier CompositionLocalProvider(
.width(16.dp), LocalTextStyle provides textStyle,
) ) {
trailing?.invoke(this) }
} }
Spacer(
modifier = Modifier
.width(16.dp),
)
trailing?.invoke(this)
} }
HorizontalDivider( HorizontalDivider()
transparency = false,
)
} }
} }