design(menu): шторка и нижняя панель 1:1 по живому forbion
Косяк: оба меню расходились с боевым forbion (_header.css). Шторка (.app-menu--mobile): убраны скругление верха и ручка-хендл (в живом их нет), высота — по контенту почти на весь экран (была ½ экрана), нижний отступ 90 под панель, сетка 3 кол. с gap 8 (было 20), фон #FBFBFB. Иконки-glass теперь ЛОКАЛЬНЫЕ (assets/menu/, офлайн); Уведомления/Настройки — фирменные mobile-*-glass вместо Material-иконок в круге. Нижняя панель (.header__mobile-bottom): фикс. пилюля 328×61, паддинг 3, кнопки 55 с фоном #FBFBFB и рамкой #E6E6E6 (была градиентная), раскладка space-between; ВОЗВРАЩЕНА подсветка активного — текущий раздел и открытый бургер красятся полупрозрачным зелёным градиентом 104° (как в forbion). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,10 +1,10 @@
|
||||
package ru.forbion.f7cloud.mobile.ui
|
||||
|
||||
import androidx.compose.material.icons.Icons
|
||||
import androidx.compose.material.icons.filled.Notifications
|
||||
import androidx.compose.material.icons.filled.Settings
|
||||
import ru.forbion.f7cloud.core.designsystem.F7AppMenuItem
|
||||
|
||||
// Иконки-glass шторки — локальные (assets/menu/, из живой темы forbion): офлайн + точные.
|
||||
private fun glass(name: String): String = "file:///android_asset/menu/$name"
|
||||
|
||||
enum class AppTab(
|
||||
val title: String,
|
||||
val headerIconPath: String,
|
||||
@@ -59,7 +59,7 @@ fun appMenuItems(
|
||||
val core = coreAppMenuEntries.map { entry ->
|
||||
F7AppMenuItem(
|
||||
label = entry.label,
|
||||
iconUrl = "$base/themes/forbion/images/header/${entry.iconPath}",
|
||||
iconUrl = glass(entry.iconPath),
|
||||
selected = entry.tab == active,
|
||||
externalUrl = entry.webPath?.let { "$base$it" },
|
||||
)
|
||||
@@ -72,19 +72,17 @@ fun appMenuItems(
|
||||
externalUrl = site.openUrl,
|
||||
)
|
||||
}
|
||||
// Нативные пункты по дизайну — действия обрабатываются в AppScaffold по label
|
||||
// Нативные пункты — тоже glass-иконки живой темы (mobile-*-glass), действия по label в AppScaffold
|
||||
val native = listOf(
|
||||
F7AppMenuItem(
|
||||
label = "Уведомления",
|
||||
iconUrl = "",
|
||||
iconUrl = glass("mobile-notifications-glass.svg"),
|
||||
selected = false,
|
||||
localIcon = Icons.Filled.Notifications,
|
||||
),
|
||||
F7AppMenuItem(
|
||||
label = "Настройки",
|
||||
iconUrl = "",
|
||||
iconUrl = glass("mobile-settings-glass.svg"),
|
||||
selected = false,
|
||||
localIcon = Icons.Filled.Settings,
|
||||
),
|
||||
)
|
||||
return core + external + native
|
||||
|
||||
Reference in New Issue
Block a user