# Spec Delta ## Purpose Позволяет пользователю выбрать фон панели прямо на странице, отдельно на каждом устройстве (Safari на iPad, Toolbelt на Mac), чтобы панель не резала глаза рядом с его терминалом. ## ADDED Requirements ### Requirement: Шестерёнка настройки фона Нижняя строка панели (рядом с «обновлено ЧЧ:ММ:СС») SHALL содержать значок ⚙. Тап по нему SHALL раскрывать строку с образцами фона, кнопкой «свой цвет» и кнопкой «сброс»; повторный тап SHALL её сворачивать. В свёрнутом виде, кроме значка, ничего нового на странице не видно. #### Scenario: Раскрыть и свернуть - **WHEN** пользователь нажимает ⚙ - **THEN** появляется строка образцов; при повторном нажатии она скрывается #### Scenario: Попадание пальцем - **WHEN** страница открыта в Safari на iPad - **THEN** ⚙, образцы и кнопки нажимаются пальцем без промахов (не мельче привычных элементов управления iPadOS) ### Requirement: Выбор фона Выбор образца или своего цвета SHALL сразу менять фон всей панели, включая окно сообщений. Цвет основного текста, приглушённого текста, линий дерева и разделителей SHALL подстраиваться под яркость фона, чтобы оставаться читаемым. Цвета статусов и лимитов (зелёный, жёлтый, красный) SHALL оставаться прежними. #### Scenario: Светлый фон - **WHEN** пользователь выбирает светлый образец - **THEN** фон становится светлым, а текст — тёмным и читаемым #### Scenario: Свой цвет - **WHEN** пользователь нажимает «свой цвет» и выбирает цвет в системной палитре - **THEN** фон панели становится этим цветом, текст подстраивается ### Requirement: Выбор хранится на устройстве Выбранный фон SHALL сохраняться средствами того браузера или web view, где он выбран, и SHALL применяться при каждом открытии и автоматической перезагрузке страницы без мелькания темы по умолчанию. Выбор на одном устройстве SHALL NOT влиять на другие. Если клиент не сохраняет данные страницы между своими перезапусками (возможно, web view Toolbelt), после перезапуска клиента показывается тема по умолчанию; на сервере выбор не хранится. #### Scenario: Клиент без постоянного хранилища - **WHEN** выбор фона сделан в Toolbelt, а web view Toolbelt не сохраняет данные между перезапусками iTerm2, и iTerm2 перезапущен - **THEN** панель в Toolbelt показывает тему по умолчанию #### Scenario: Перезагрузка страницы - **WHEN** пользователь выбрал фон в Safari на iPad и страница перезагрузилась (сама раз в минуту или вручную) - **THEN** сразу отображается выбранный фон #### Scenario: Разные устройства - **WHEN** в Safari на iPad выбран светлый фон - **THEN** панель в Toolbelt на Mac сохраняет свой фон ### Requirement: Сброс к теме по умолчанию «Сброс» SHALL удалять сохранённый выбор и возвращать тему, которую отдаёт сервер. Тема по умолчанию SHALL выглядеть как нынешний профиль iTerm2 пользователя (`Chat`: фон `#002b36`, текст `#aacace`). #### Scenario: Сброс - **WHEN** пользователь нажимает «сброс» - **THEN** панель показывает тему по умолчанию, и после перезагрузки она остаётся по умолчанию