bottombar: иконки-разделы крупнее (46dp) — заполняют кружок

У серверных SVG (mail-/deck-/spreed-header-icon) внутренний «воздух»,
поэтому глиф оставался мелким. Отдельный размер BottomBarSectionIconSize=46dp
для Почты/Карточек/Конференций (стрелка/бургер — прежние 34dp).
This commit is contained in:
b-dev-mobile
2026-07-08 17:32:38 +00:00
parent 8186031676
commit 58eed74b03
@@ -21,6 +21,7 @@ import androidx.compose.ui.graphics.Brush
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.graphicsLayer import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.layout.ContentScale
import androidx.compose.ui.unit.Dp
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage import coil.compose.AsyncImage
@@ -35,6 +36,10 @@ data class F7BottomBarActions(
private val BottomBarButtonSize = 55.dp private val BottomBarButtonSize = 55.dp
private val BottomBarIconSize = 34.dp private val BottomBarIconSize = 34.dp
// Иконки-разделы (Почта/Карточки/Конференции) — серверные SVG с внутренним
// «воздухом», поэтому рендерим крупнее, чтобы заполняли кружок.
private val BottomBarSectionIconSize = 46.dp
private val BottomBarGap = 8.dp private val BottomBarGap = 8.dp
private val BottomBarOuterPaddingH = 6.dp private val BottomBarOuterPaddingH = 6.dp
private val BottomBarOuterPaddingV = 6.dp private val BottomBarOuterPaddingV = 6.dp
@@ -101,18 +106,21 @@ fun F7MobileBottomBar(
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", highlighted = activeTabKey == "Mail",
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", highlighted = activeTabKey == "Deck",
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", highlighted = activeTabKey == "Talk",
iconSize = BottomBarSectionIconSize,
onClick = actions.onConferencesClick, onClick = actions.onConferencesClick,
) )
F7BottomBarSlot.Menu -> F7BottomBarIconSlot( F7BottomBarSlot.Menu -> F7BottomBarIconSlot(
@@ -139,6 +147,7 @@ private fun F7BottomBarIconSlot(
highlighted: Boolean = false, highlighted: Boolean = false,
iconRotation: Float = 0f, iconRotation: Float = 0f,
showBadge: Boolean = false, showBadge: Boolean = false,
iconSize: Dp = BottomBarIconSize,
) { ) {
val bg = if (highlighted) BottomBarHighlightBrush else null val bg = if (highlighted) BottomBarHighlightBrush else null
Box( Box(
@@ -168,7 +177,7 @@ private fun F7BottomBarIconSlot(
model = iconUrl, model = iconUrl,
contentDescription = contentDescription, contentDescription = contentDescription,
modifier = Modifier modifier = Modifier
.size(BottomBarIconSize) .size(iconSize)
.graphicsLayer { rotationZ = iconRotation }, .graphicsLayer { rotationZ = iconRotation },
contentScale = ContentScale.Fit, contentScale = ContentScale.Fit,
) )