bottombar: убрана зелёная подложка под активной кнопкой

Фон кнопок всегда нейтральный (0x99FFFFFF); убраны highlight-подложка,
BottomBarHighlightBrush и параметр highlighted слота. Зелёные варианты
иконок чатов/бургера (при открытии) — это иконка, остаются.
This commit is contained in:
b-dev-mobile
2026-07-08 17:39:14 +00:00
parent 58d56feb76
commit fe330be510
@@ -47,9 +47,6 @@ private val BottomBarButtonShape = RoundedCornerShape(100.dp)
private val BottomBarBorderBrush = Brush.linearGradient( private val BottomBarBorderBrush = Brush.linearGradient(
listOf(Color(0x33C0FF7B), Color(0x3370B62B)), listOf(Color(0x33C0FF7B), Color(0x3370B62B)),
) )
private val BottomBarHighlightBrush = Brush.linearGradient(
listOf(Color(0x33C0FF7B), Color(0x3370B62B)),
)
@Composable @Composable
fun F7MobileBottomBar( fun F7MobileBottomBar(
@@ -92,34 +89,29 @@ fun F7MobileBottomBar(
"$base/themes/forbion/images/header/chat-icon-gray.svg" "$base/themes/forbion/images/header/chat-icon-gray.svg"
}, },
contentDescription = "Чаты", contentDescription = "Чаты",
highlighted = chatsHighlighted,
onClick = actions.onChatsClick, onClick = actions.onChatsClick,
) )
F7BottomBarSlot.NavBack -> F7BottomBarIconSlot( F7BottomBarSlot.NavBack -> F7BottomBarIconSlot(
iconUrl = "$base/themes/forbion/images/header/sidebar-chevron-left.svg", iconUrl = "$base/themes/forbion/images/header/sidebar-chevron-left.svg",
contentDescription = "Папки", contentDescription = "Папки",
highlighted = navBackHighlighted,
iconRotation = if (navBackHighlighted) 180f else 0f, iconRotation = if (navBackHighlighted) 180f else 0f,
onClick = actions.onNavBackClick, onClick = actions.onNavBackClick,
) )
F7BottomBarSlot.SectionMail -> F7BottomBarIconSlot( F7BottomBarSlot.SectionMail -> F7BottomBarIconSlot(
iconUrl = "$base/themes/forbion/images/header/mail-header-icon.svg", iconUrl = "$base/themes/forbion/images/header/mail-header-icon.svg",
contentDescription = "Почта", contentDescription = "Почта",
highlighted = activeTabKey == "Mail",
iconSize = BottomBarSectionIconSize, iconSize = BottomBarSectionIconSize,
onClick = actions.onMailClick, onClick = actions.onMailClick,
) )
F7BottomBarSlot.SectionCards -> F7BottomBarIconSlot( F7BottomBarSlot.SectionCards -> F7BottomBarIconSlot(
iconUrl = "$base/themes/forbion/images/header/deck-header-icon.svg", iconUrl = "$base/themes/forbion/images/header/deck-header-icon.svg",
contentDescription = "Карточки", contentDescription = "Карточки",
highlighted = activeTabKey == "Deck",
iconSize = BottomBarSectionIconSize, iconSize = BottomBarSectionIconSize,
onClick = actions.onCardsClick, onClick = actions.onCardsClick,
) )
F7BottomBarSlot.SectionConferences -> F7BottomBarIconSlot( F7BottomBarSlot.SectionConferences -> F7BottomBarIconSlot(
iconUrl = "$base/themes/forbion/images/header/spreed-header-icon.svg", iconUrl = "$base/themes/forbion/images/header/spreed-header-icon.svg",
contentDescription = "Конференции", contentDescription = "Конференции",
highlighted = activeTabKey == "Talk",
iconSize = BottomBarSectionIconSize, iconSize = BottomBarSectionIconSize,
onClick = actions.onConferencesClick, onClick = actions.onConferencesClick,
) )
@@ -130,7 +122,6 @@ fun F7MobileBottomBar(
"$base/themes/forbion/images/header/menu-burger-gray.svg" "$base/themes/forbion/images/header/menu-burger-gray.svg"
}, },
contentDescription = "Меню", contentDescription = "Меню",
highlighted = menuOpen,
showBadge = showNotificationBadge, showBadge = showNotificationBadge,
onClick = actions.onMenuClick, onClick = actions.onMenuClick,
) )
@@ -144,23 +135,16 @@ private fun F7BottomBarIconSlot(
iconUrl: String, iconUrl: String,
contentDescription: String, contentDescription: String,
onClick: () -> Unit, onClick: () -> Unit,
highlighted: Boolean = false,
iconRotation: Float = 0f, iconRotation: Float = 0f,
showBadge: Boolean = false, showBadge: Boolean = false,
iconSize: Dp = BottomBarIconSize, iconSize: Dp = BottomBarIconSize,
) { ) {
val bg = if (highlighted) BottomBarHighlightBrush else null // Зелёной подложки под активной кнопкой быть не должно — фон всегда нейтральный.
Box( Box(
modifier = Modifier modifier = Modifier
.size(BottomBarButtonSize) .size(BottomBarButtonSize)
.clip(BottomBarButtonShape) .clip(BottomBarButtonShape)
.then( .background(Color(0x99FFFFFF), BottomBarButtonShape)
if (bg != null) {
Modifier.background(bg, BottomBarButtonShape)
} else {
Modifier.background(Color(0x99FFFFFF), BottomBarButtonShape)
},
)
.border( .border(
width = 1.dp, width = 1.dp,
brush = BottomBarBorderBrush, brush = BottomBarBorderBrush,