kiosk-theme

Темы и цветовые токены киоска. Использовать при добавлении цветов, правке shared/styles/base.css и переключения светлой и тёмной темы.

SKILL.md

GitHub

Темы

  • Киоск живёт в двух темах, светлая по умолчанию. Админка всегда светлая.
  • Фирменных цветов два, и оба задаются в админке: основной (ui_primary_color) красит каталог — плашки карточек, их рамки, кнопку «за Кодом»; второстепенный (ui_secondary_color) — действия и итоги: печать, поиск, возврат, стрелки пейджера, цену, стоимость и сумму.
  • Второстепенный цвет подменяет сам токен --s2l-accent на корне киоска, а не красит компоненты поодиночке: акцент используют почти все, и перечислять их пришлось бы каждый раз заново. Рядом считаются --s2l-accent-dark (тень кнопок) и --s2l-accent-ink (текст поверх заливки, выводится из яркости).
  • Цвет текста поверх любой настраиваемой заливки не настраивается, а выводится из её яркости: иначе одного неудачного выбора хватит, чтобы подпись пропала.
  • Ни одного цвета в компонентах. Палитра — токены в shared/styles/base.css: светлые на :root, тёмные под [data-theme='dark']. Захардкоженный цвет останется светлым при переключении и выдаст себя пятном.
  • Тема вешается на <html>: data-theme включает наши токены, класс dark — переменные Element Plus, иначе диалоги и тосты останутся белыми.
  • До прихода настроек применяется тема прошлого запуска из localStorage — иначе заставка успевает мигнуть чужим фоном.
  • Киоск перечитывает настройки по событию из админки: смена темы или языка видна на экране сразу, без перезапуска и без опроса по таймеру (см. скилл device-settings).