fix(menu): плоские иконки шторки как на мобильном сайте (images/menu, не glass)
Шторка показывала glass-кружки (frosted 49px из images/header/*-glass), а мобильный сайт рисует ПЛОСКИЕ двухцветные иконки из images/menu/*.svg (зелёный #70B62B + чёрный контур). Забандлил menu-*.svg (files/calendar/ contacts/cards/notes/settings + notifications из not-menu-icon-big), переключил пункты приложений и нативные Уведомления/Настройки на них. Неиспользуемые glass/header-ассеты удалены (нижняя панель грузит иконки с сервера). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -2,8 +2,9 @@ package ru.forbion.f7cloud.mobile.ui
|
||||
|
||||
import ru.forbion.f7cloud.core.designsystem.F7AppMenuItem
|
||||
|
||||
// Иконки-glass шторки — локальные (assets/menu/, из живой темы forbion): офлайн + точные.
|
||||
private fun glass(name: String): String = "file:///android_asset/menu/$name"
|
||||
// Иконки шторки — ПЛОСКИЕ menu-иконки живой темы forbion (images/menu/*.svg: зелёный+чёрный
|
||||
// контур), а не glass-кружки. Локальные (assets/menu/menu-*.svg) — офлайн и 1:1 с сайтом.
|
||||
private fun menuIcon(name: String): String = "file:///android_asset/menu/menu-$name.svg"
|
||||
|
||||
enum class AppTab(
|
||||
val title: String,
|
||||
@@ -34,12 +35,13 @@ private data class AppMenuEntry(
|
||||
|
||||
// Состав меню — по дизайну выдвижного меню (Почта/Конференции/Задачи/Поддержка — только
|
||||
// в нижней панели; Уведомления/Настройки добавлены как нативные пункты, см. appMenuItems).
|
||||
// iconPath — базовое имя плоской menu-иконки (assets/menu/menu-<name>.svg)
|
||||
private val coreAppMenuEntries = listOf(
|
||||
AppMenuEntry(AppTab.Files, "Файлы", "files-glass.svg"),
|
||||
AppMenuEntry(AppTab.Calendar, "Календарь", "calendar-glass.svg"),
|
||||
AppMenuEntry(AppTab.Contacts, "Контакты", "contact-glass.svg"),
|
||||
AppMenuEntry(AppTab.Deck, "Карточки", "deck-glass.svg"),
|
||||
AppMenuEntry(null, "Заметки", "notes-glass.svg", webPath = "/apps/notes/"),
|
||||
AppMenuEntry(AppTab.Files, "Файлы", "files"),
|
||||
AppMenuEntry(AppTab.Calendar, "Календарь", "calendar"),
|
||||
AppMenuEntry(AppTab.Contacts, "Контакты", "contacts"),
|
||||
AppMenuEntry(AppTab.Deck, "Карточки", "cards"),
|
||||
AppMenuEntry(null, "Заметки", "notes", webPath = "/apps/notes/"),
|
||||
)
|
||||
|
||||
data class AppMenuExternalSite(
|
||||
@@ -59,7 +61,7 @@ fun appMenuItems(
|
||||
val core = coreAppMenuEntries.map { entry ->
|
||||
F7AppMenuItem(
|
||||
label = entry.label,
|
||||
iconUrl = glass(entry.iconPath),
|
||||
iconUrl = menuIcon(entry.iconPath),
|
||||
selected = entry.tab == active,
|
||||
externalUrl = entry.webPath?.let { "$base$it" },
|
||||
)
|
||||
@@ -72,16 +74,16 @@ fun appMenuItems(
|
||||
externalUrl = site.openUrl,
|
||||
)
|
||||
}
|
||||
// Нативные пункты — тоже glass-иконки живой темы (mobile-*-glass), действия по label в AppScaffold
|
||||
// Нативные пункты — плоские menu-иконки темы, действия по label в AppScaffold
|
||||
val native = listOf(
|
||||
F7AppMenuItem(
|
||||
label = "Уведомления",
|
||||
iconUrl = glass("mobile-notifications-glass.svg"),
|
||||
iconUrl = menuIcon("notifications"),
|
||||
selected = false,
|
||||
),
|
||||
F7AppMenuItem(
|
||||
label = "Настройки",
|
||||
iconUrl = glass("mobile-settings-glass.svg"),
|
||||
iconUrl = menuIcon("settings"),
|
||||
selected = false,
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user