BRD Widget 8.5 Темная тема

Направление работ: Widget Код раздела: 8.5 Раздел: Общие работы > Темная тема Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 11.08.26


1. Назначение

Раздел описывает тему оформления виджета: светлая, тёмная или системная тема по конфигурации, следование системной теме операционной системы и переопределение темы от родительской страницы.

Документ описывает механизм темы. Акцентный цвет и остальная кастомизация — раздел 8.2.1.

Раздел связан с Widget: 8.2.1 Кастомизация виджета.

2. Ключевые понятия

Тема — режим оформления виджета, задаётся настройкой партнерской зоны theme (WidgetTheme) со значениями: Brows = 0 — системная, Light = 1 — светлая, Dark = 2 — тёмная.

Системная тема — тема, соответствующая настройке операционной системы (prefers-color-scheme); значение Brows (0).

Переопределение темы — установка тёмной или светлой темы сообщением от родительской страницы.

3. Scope

Входит

S1: Применение темы из конфигурации

S2: Следование системной теме

S3: Переопределение темы от родительской страницы

Не входит

  • Widget: 8.2.1 Общие работы > Интеграция виджета партнером > Кастомизация виджета (акцентный цвет и компоновка)

4. BR

Раздел технический; определяется оформлением виджета. Выбор темы задаётся партнёром в кастомизации (8.2.1).

5. Функциональные требования (UC + FR)

FR — functional requirements, что интерфейс должен уметь делать по определенному UC.

IDСценарийФункциональное требованиеBRВесСтатус
S1: #FR8.5-1Виджет загружаетсяВиджет применяет тему из конфигурации по значению theme: Brows (0) — системная, Light (1) — светлая, Dark (2) — тёмная.1Не реализовано — механизм есть, но значения темы сопоставлены неверно, см. OQ8.5-2
S2: #FR8.5-2Тема системнаяВ системном режиме (Brows) виджет следует теме операционной системы и переключается при её изменении.2Не реализовано — системный режим срабатывает на значении Dark, а не Brows, см. OQ8.5-2
S3: #FR8.5-3Родительская страница задаёт темуВиджет поддерживает переопределение тёмной или светлой темы сообщением от родительской страницы (mb-theme).3Реализовано

6. Открытые вопросы

IDИсточникВопросКомуСтатус
#OQ8.5-1Figma / продуктВ самом виджете нет переключателя темы для клиента — тема задаётся конфигурацией партнёра или родительской страницей. Подтвердить, нужен ли пользовательский переключатель темы в виджете. Решение: переключатель не нужен. Тему задает партнер настройкой партнерской зоны под оформление своего сайта; собственный переключатель у клиента ломал бы согласованность виджета со страницей, на которой он размещен. Требований не добавляем.БизнесЗакрыт
#OQ8.5-2КодДефект: значения темы сопоставлены неверно. По контракту WidgetTheme значения такие: Brows = 0 (системная), Light = 1 (светлая), Dark = 2 (тёмная). В коде разбор темы устроен иначе: theme === 1 даёт тёмную, theme === 2 — системную, остальные значения — светлую. Итог по каждому значению: Brows (0) показывает светлую вместо системной; Light (1) показывает тёмную вместо светлой; Dark (2) показывает системную вместо тёмной. Это же объясняет наблюдение QA «виджет всегда принимает системную тему» — на тестовом виджете выставлено Dark. Механизм темы реализован, ошибка только в сопоставлении значений; правка сводится к одной функции. \ widgets/booking/composables/useLayout.ts:41-48, shared/api/widget-config/api/widgetConfig.api.ts:86РазработкаЗакрыт

0 items under this folder.