feat(ui): map canvas follows light/dark theme; fix invisible gear control #42
Reference in New Issue
Block a user
Delete Branch "feature/issue-40-map-light-theme"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Что и зачем
Закрывает #40 (вариант B).
Светлая тема карты
Canvas карты теперь следует выбранной теме приложения.
map.svelteвыбирает палитру
DARK_THEME/LIGHT_THEMEизtheme.resolvedипрокидывает её через все построители примитивов — фон, планеты, группы
кораблей, грузовые маршруты, маркеры боёв/бомбардировок, туман, круги
досягаемости, кольцо выбора, отправляемые маршруты и оверлей выбора цели
переключаются вместе с остальным интерфейсом. Переключение темы делает
ремоунт рендерера с сохранением камеры (Pixi запекает фон при init, а
цвета примитивов — при сборке, поэтому живой ре-тинт на том же экземпляре
невозможен).
Светлая палитра повторяет тёмную «роль в роль», но затемнена/насыщена для
контраста на светлом фоне; акценты на incoming-группах, боях и
бомбардировках намеренно оставлены яркими. Конкретные цвета — первый
проход, под доводку в рамках F8.
Починка шестерёнки (исходный баг)
Триггер попапа-шестерёнки и плашка «Загрузка…» жёстко задавали тёмный
фон
rgba(20,24,42,0.85), из-за чего в светлой теме шестерёнка былане видна (тёмная иконка на тёмном чипе), а на ховере появлялся белый чип.
Оба теперь используют токен
--color-surface-overlayи читаются в обеихтемах.
Прочее
это исторические записи).
design-system.md/renderer.md;боевая сцена остаётся data-viz поверхностью с фиксированной палитрой.
Тесты
pnpm test— 79 файлов, 771 тест, все зелёные (включая новыйtests/map-theme.test.tsи обновлённые color-тесты построителей).pnpm check— 0 ошибок, 0 предупреждений (1550 файлов).hit-test), визуальных снапшотов карты нет — поведение не затронуто; на
CI прогонятся.
Палитра под доводку
Цвета светлой темы подобраны мной как разумный первый проход. В рамках
F8 можно открыть
ui/frontend/src/map/world.ts(DARK_THEMEиLIGHT_THEMEрядом) и подкрутить любые значения одним файлом.Closes #40
Ну классно же! Карта теперь выглядит в общей стилистике, а конкретные цвета потом добьём. Даже эти, которые ты подобрала, мне нравятся, не режут глаз. Спасибо!