Enable blur effect on the top bar too.

This commit is contained in:
Benoit Marty 2025-07-08 16:28:16 +02:00 committed by Benoit Marty
parent 8fec3986b4
commit 80df68c1dc
3 changed files with 23 additions and 17 deletions

View file

@ -12,6 +12,7 @@ package io.element.android.features.home.impl
import androidx.activity.compose.BackHandler import androidx.activity.compose.BackHandler
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.calculateEndPadding import androidx.compose.foundation.layout.calculateEndPadding
import androidx.compose.foundation.layout.calculateStartPadding import androidx.compose.foundation.layout.calculateStartPadding
import androidx.compose.foundation.layout.consumeWindowInsets import androidx.compose.foundation.layout.consumeWindowInsets
@ -181,6 +182,10 @@ private fun HomeScaffold(
displayFilters = roomListState.displayFilters && state.currentHomeNavigationBarItem == HomeNavigationBarItem.Chats, displayFilters = roomListState.displayFilters && state.currentHomeNavigationBarItem == HomeNavigationBarItem.Chats,
filtersState = roomListState.filtersState, filtersState = roomListState.filtersState,
canReportBug = state.canReportBug, canReportBug = state.canReportBug,
modifier = Modifier.hazeEffect(
state = hazeState,
style = HazeMaterials.thick(),
)
) )
}, },
bottomBar = { bottomBar = {
@ -190,7 +195,7 @@ private fun HomeScaffold(
modifier = Modifier modifier = Modifier
.hazeEffect( .hazeEffect(
state = hazeState, state = hazeState,
style = HazeMaterials.regular(), style = HazeMaterials.thick(),
) )
) { ) {
HomeNavigationBarItem.entries.forEach { item -> HomeNavigationBarItem.entries.forEach { item ->
@ -227,15 +232,18 @@ private fun HomeScaffold(
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick, onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
onRoomClick = ::onRoomClick, onRoomClick = ::onRoomClick,
onCreateRoomClick = onCreateRoomClick, onCreateRoomClick = onCreateRoomClick,
// FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80, contentPadding = PaddingValues(
// and include provided bottom padding // FAB height is 56dp, bottom padding is 16dp, we add 8dp as extra margin -> 56+16+8 = 80,
contentBottomPadding = 80.dp + padding.calculateBottomPadding(), // and include provided bottom padding
bottom = 80.dp + padding.calculateBottomPadding(),
top = padding.calculateTopPadding()
),
modifier = Modifier modifier = Modifier
.padding( .padding(
top = padding.calculateTopPadding(), PaddingValues(
bottom = 0.dp, start = padding.calculateStartPadding(LocalLayoutDirection.current),
start = padding.calculateStartPadding(LocalLayoutDirection.current), end = padding.calculateEndPadding(LocalLayoutDirection.current),
end = padding.calculateEndPadding(LocalLayoutDirection.current), )
) )
.consumeWindowInsets(padding) .consumeWindowInsets(padding)
.hazeSource(state = hazeState) .hazeSource(state = hazeState)

View file

@ -31,7 +31,6 @@ import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.PreviewParameter import androidx.compose.ui.tooling.preview.PreviewParameter
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import io.element.android.compound.theme.ElementTheme import io.element.android.compound.theme.ElementTheme
import io.element.android.compound.tokens.generated.CompoundIcons import io.element.android.compound.tokens.generated.CompoundIcons
@ -67,7 +66,7 @@ fun RoomListContentView(
onConfirmRecoveryKeyClick: () -> Unit, onConfirmRecoveryKeyClick: () -> Unit,
onRoomClick: (RoomListRoomSummary) -> Unit, onRoomClick: (RoomListRoomSummary) -> Unit,
onCreateRoomClick: () -> Unit, onCreateRoomClick: () -> Unit,
contentBottomPadding: Dp, contentPadding: PaddingValues,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
Box(modifier = modifier) { Box(modifier = modifier) {
@ -95,7 +94,7 @@ fun RoomListContentView(
onSetUpRecoveryClick = onSetUpRecoveryClick, onSetUpRecoveryClick = onSetUpRecoveryClick,
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick, onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
onRoomClick = onRoomClick, onRoomClick = onRoomClick,
contentBottomPadding = contentBottomPadding, contentPadding = contentPadding,
) )
} }
} }
@ -167,7 +166,7 @@ private fun RoomsView(
onSetUpRecoveryClick: () -> Unit, onSetUpRecoveryClick: () -> Unit,
onConfirmRecoveryKeyClick: () -> Unit, onConfirmRecoveryKeyClick: () -> Unit,
onRoomClick: (RoomListRoomSummary) -> Unit, onRoomClick: (RoomListRoomSummary) -> Unit,
contentBottomPadding: Dp, contentPadding: PaddingValues,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
if (state.summaries.isEmpty() && filtersState.hasAnyFilterSelected) { if (state.summaries.isEmpty() && filtersState.hasAnyFilterSelected) {
@ -183,7 +182,7 @@ private fun RoomsView(
onSetUpRecoveryClick = onSetUpRecoveryClick, onSetUpRecoveryClick = onSetUpRecoveryClick,
onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick, onConfirmRecoveryKeyClick = onConfirmRecoveryKeyClick,
onRoomClick = onRoomClick, onRoomClick = onRoomClick,
contentBottomPadding = contentBottomPadding, contentPadding = contentPadding,
modifier = modifier.fillMaxSize(), modifier = modifier.fillMaxSize(),
) )
} }
@ -197,7 +196,7 @@ private fun RoomsViewList(
onSetUpRecoveryClick: () -> Unit, onSetUpRecoveryClick: () -> Unit,
onConfirmRecoveryKeyClick: () -> Unit, onConfirmRecoveryKeyClick: () -> Unit,
onRoomClick: (RoomListRoomSummary) -> Unit, onRoomClick: (RoomListRoomSummary) -> Unit,
contentBottomPadding: Dp, contentPadding: PaddingValues,
modifier: Modifier = Modifier, modifier: Modifier = Modifier,
) { ) {
val lazyListState = rememberLazyListState() val lazyListState = rememberLazyListState()
@ -216,7 +215,7 @@ private fun RoomsViewList(
LazyColumn( LazyColumn(
state = lazyListState, state = lazyListState,
modifier = modifier, modifier = modifier,
contentPadding = PaddingValues(bottom = contentBottomPadding) contentPadding = contentPadding,
) { ) {
when (state.securityBannerState) { when (state.securityBannerState) {
SecurityBannerState.SetUpRecovery -> { SecurityBannerState.SetUpRecovery -> {
@ -329,6 +328,6 @@ internal fun RoomListContentViewPreview(@PreviewParameter(RoomListContentStatePr
onConfirmRecoveryKeyClick = {}, onConfirmRecoveryKeyClick = {},
onRoomClick = {}, onRoomClick = {},
onCreateRoomClick = {}, onCreateRoomClick = {},
contentBottomPadding = 0.dp, contentPadding = PaddingValues(0.dp),
) )
} }

View file

@ -37,7 +37,6 @@ fun Modifier.backgroundVerticalGradient(
brush = Brush.verticalGradient( brush = Brush.verticalGradient(
colorStops = subtleColorStops(isEnterpriseBuild), colorStops = subtleColorStops(isEnterpriseBuild),
), ),
alpha = 0.75f,
) )
} }