From 483e4107d79e96ed078c6874a46ff51fb6c43a32 Mon Sep 17 00:00:00 2001 From: b-dev-mobile Date: Wed, 8 Jul 2026 09:05:26 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=B8=D0=B7=D0=B0=D0=B9=D0=BD-=D0=BF?= =?UTF-8?q?=D0=B0=D0=BB=D0=B8=D1=82=D1=80=D0=B0=20=D0=B8=D0=B7=20Figma=20?= =?UTF-8?q?=D0=B2=20F7Colors=20+=20=D1=84=D0=B8=D0=BA=D1=81=20Error-=D0=BA?= =?UTF-8?q?=D1=80=D0=B0=D1=81=D0=BD=D0=BE=D0=B3=D0=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Точные Base-токены из «Брендбука» владельца: Black #151515, Grey1/2/3 #808080/#F5F5F5/#E6E6E6, Green #70B62B (+30/10%), Yellow #F6E120, Purple #9747FF, Red #FF7A66 (+10%). - Семантика (TextPrimary/Secondary/Border/SurfaceMuted/Primary) на Base — совпала. - ИСПРАВЛЕНО: Error #D74642 → #FF7A66 (дизайн-красный) — app-wide на кнопках удаления/ошибках. Yellow/Purple под теги. designsystem компилируется. Шаг к закрытию долга «77 захардкоженных Color()». --- CHANGELOG.md | 2 ++ .../f7cloud/core/designsystem/F7Colors.kt | 34 ++++++++++++++----- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b8ffb4..e19fca9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ Формат: `ГГГГ-ММ-ДД | версия | изменение | контракты | риск` +- 2026-07-08 | v0.5.114 (122) | Дизайн-палитра из Figma «Брендбук» (владелец) в F7Colors: точные Base-токены (Black #151515, Grey1 #808080, Grey2 #F5F5F5, Grey3 #E6E6E6, Green #70B62B +30%/10%, Yellow #F6E120, Purple #9747FF, Red #FF7A66 +10%). Семантические токены (TextPrimary/Secondary/Border/SurfaceMuted/Primary) переведены на Base — основа сверена, совпала. **ИСПРАВЛЕНО расхождение: Error #D74642 → #FF7A66 (дизайн-красный)** — влияет на кнопки удаления/ошибки во ВСЁМ приложении. Yellow/Purple — под теги. Пропагируется на все экраны; шаг к закрытию аудитного долга «77 захардкоженных Color(0x…)» | дизайн-система | средний: Error-красный меняется app-wide (по дизайну); проверить экраны удаления/ошибок + - 2026-07-08 | v0.5.114 (122) | Дизайн Файлов (чанк 3 — каркас списка): рескин главного экрана под мобильный макет (Figma files/*.png на инфре B). Новый FilesBrowserChrome.kt: поиск-пилюля + кнопка-переключатель список⇄сетка, хлебные крошки (🏠 › путь, навигация navigateToPath), фильтр-чипы (Тип файла/Участники/Изменен) ВМЕСТО десктопной колоночной шапки, вид СЕТКА (LazyVerticalGrid 2 кол., карточки), пустое состояние (иконка+заголовок+подзаголовок). Строки без разделителей (по макету). На токенах F7Spacing/F7Radius. material-icons-extended → feature:files (иконки chrome, потом точные из дизайна). Компилируется | контракты не менялись | средний: заметный UI-рескин Файлов; логика (загрузка/выбор/открытие) та же, сверка на устройстве - 2026-07-08 | v0.5.114 (122) | Дизайн Файлов (чанк 2): локальные иконки типов файлов. 13 SVG из дизайна (PDF/Word/Spreadsheet/Presentation/Image/Audio/Video/Archive/Code/Text/Certificate/Eml/file) в assets/filetypes/, FileIcons переключён на них (file:///android_asset, coil-svg). Раньше иконки типов тянулись с сервера → офлайн ломался (аудит) + не гарантированно совпадали с дизайном. Папка пока с сервера (иконки папки в наборе нет — TODO из Figma). Дизайн-макеты (109 PNG) — на инфре B /home/foradmin/figma/, в git не бандлю (вес) | контракты не менялись | низкий: файловые иконки теперь офлайн и точно из дизайна diff --git a/core/designsystem/src/main/java/ru/forbion/f7cloud/core/designsystem/F7Colors.kt b/core/designsystem/src/main/java/ru/forbion/f7cloud/core/designsystem/F7Colors.kt index 04f21de..e59916c 100644 --- a/core/designsystem/src/main/java/ru/forbion/f7cloud/core/designsystem/F7Colors.kt +++ b/core/designsystem/src/main/java/ru/forbion/f7cloud/core/designsystem/F7Colors.kt @@ -3,10 +3,25 @@ package ru.forbion.f7cloud.core.designsystem import androidx.compose.ui.graphics.Color /** - * Palette from themes/forbion (mobile + f7support), light theme. + * Palette from themes/forbion. Base-токены — из Figma «Брендбук» (палитра владельца, 2026-07-08), + * семантические — поверх Base. Светлая тема. */ object F7Colors { - val Primary = Color(0xFF70B62B) + // --- Base palette (Figma «Брендбук») — точные значения --- + val Black = Color(0xFF151515) // Base/Black — основной текст + val Black2 = Color(0xFF1F1F1F) // Base/Black 2 + val Grey1 = Color(0xFF808080) // Base/Grey 1 — вторичный текст + val Grey2 = Color(0xFFF5F5F5) // Base/Grey 2 — приглушённый фон + val Grey3 = Color(0xFFE6E6E6) // Base/Grey 3 — границы + val Green = Color(0xFF70B62B) // Base/Green — primary + val Green30 = Color(0x4D70B62B) // Base/Green 30% + val Green10 = Color(0x1A70B62B) // Base/Green 10% + val Yellow = Color(0xFFF6E120) // Base/Yellow (тег «Позже» и т.п.) + val Purple = Color(0xFF9747FF) // Base/Purple (тег «Личное» и т.п.) + val Red = Color(0xFFFF7A66) // Base/Red — ошибки/удаление (дизайн!) + val Red10 = Color(0x1AFF7A66) // Base/Red 10% — фон ошибки + + val Primary = Green val PrimaryHover = Color(0xFF6FAF2E) val PrimaryDark = Color(0xFF5E922B) val PrimaryLight = Color(0xFFECF9DE) @@ -15,20 +30,21 @@ object F7Colors { val Background = Color(0xFFFBFBFB) val Surface = Color(0xFFFFFFFF) - val SurfaceMuted = Color(0xFFF5F5F5) + val SurfaceMuted = Grey2 - val TextPrimary = Color(0xFF151515) - val TextSecondary = Color(0xFF808080) + val TextPrimary = Black + val TextSecondary = Grey1 val TextMuted = Color(0xFF8C8C8C) val TextOnPrimary = Color(0xFFFFFFFF) - val Border = Color(0xFFE6E6E6) + val Border = Grey3 val BorderLight = Color(0xFFE0E0E0) val SecondaryButtonBg = Color(0xFFFDFDFD) - val SecondaryButtonBorder = Color(0xFFE6E6E6) + val SecondaryButtonBorder = Grey3 - val Error = Color(0xFFD74642) - val ErrorBg = Color(0xFFFFE2E2) + // Дизайн-красный #FF7A66 (был #D74642 — расходился с макетом) + val Error = Red + val ErrorBg = Red10 val StatusNew = Color(0xFF2B9AB6) val StatusProgress = Color(0xFF70B62B)