feat(web): скрытие боковых панелей в альбоме и хоткеи размера миниатюр

В режиме просмотра альбома добавлена кнопка скрытия левой и правой боковых
панелей (рядом с регулятором размера миниатюр) и хоткей Tab. В скрытом режиме
панели не занимают место в раскладке, а появляются по наведению на левую или
правую кромку окна и прячутся после ухода указателя.

Клавиши + и - меняют размер миниатюр на шаг, как кнопки регулятора; хоткей
работает на всех экранах приложения и не срабатывает при вводе текста, в
открытых диалогах и меню.

Спека ui-workspace дополнена требованиями о скрытии панелей и клавишах
изменения размера миниатюр.
This commit is contained in:
iu
2026-10-20 21:30:06 +03:00
parent 3a44844ff9
commit 45a953f8bb
7 changed files with 214 additions and 28 deletions
+41 -1
View File
@@ -81,7 +81,9 @@ SHALL отображаться вне каркаса, но в общей тем
Сетка SHALL давать пользователю управлять размером миниатюр: сдвиг регулятора вправо SHALL
увеличивать миниатюры, влево — уменьшать. Регулятор SHALL сопровождаться кнопками шага в
сторону уменьшения и увеличения. Выбранный размер SHALL сохраняться между сессиями и SHALL
быть общим для обзора альбомов и сетки фото альбома.
быть общим для обзора альбомов и сетки фото альбома. Клавиши `+` и `-` SHALL менять размер
миниатюр на шаг так же, как кнопки регулятора; при вводе текста и в открытых диалогах либо
меню эти клавиши SHALL сохранять обычное действие.
#### Scenario: Изменение размера
@@ -98,6 +100,16 @@ SHALL отображаться вне каркаса, но в общей тем
- **WHEN** пользователь нажимает кнопку увеличения или уменьшения рядом с регулятором
- **THEN** размер миниатюр меняется на один шаг и сохраняется
#### Scenario: Клавиши размера
- **WHEN** пользователь нажимает `+` или `-`
- **THEN** размер миниатюр меняется на один шаг, как при нажатии кнопок регулятора
#### Scenario: Клавиши в поле ввода
- **WHEN** фокус находится в поле ввода или открыт диалог либо меню
- **THEN** `+` и `-` не меняют размер миниатюр
#### Scenario: Единый размер в обоих местах
- **WHEN** пользователь меняет размер на обзоре альбомов или в сетке фото альбома
@@ -172,6 +184,34 @@ SHALL выдвигать правую панель поверх содержим
- **WHEN** пользователь перезагружает приложение
- **THEN** восстановленные панели имеют сохранённую ширину
### Requirement: Скрытие боковых панелей
В режиме просмотра альбома SHALL быть доступна кнопка скрытия левой и правой боковых панелей
в верхней панели сетки рядом с регулятором размера миниатюр и хоткей `Tab`. В скрытом режиме
панели SHALL не занимать место в раскладке, содержимое альбома SHALL занимать всю ширину,
а панели SHALL показываться при наведении указателя на левую или правую кромку окна и
скрываться после ухода указателя. Хоткей SHALL не срабатывать при вводе текста в поля и при
открытых модальных диалогах или меню.
#### Scenario: Переключение кнопкой
- **WHEN** пользователь нажимает кнопку скрытия боковых панелей в альбоме
- **THEN** обе панели уезжают за края, а сетка фото занимает всю ширину окна
#### Scenario: Переключение хоткеем
- **WHEN** пользователь нажимает `Tab` в режиме просмотра альбома
- **THEN** боковые панели скрываются или показываются
#### Scenario: Появление у кромки
- **WHEN** панели скрыты, и указатель подходит к левой или правой кромке окна
- **THEN** соответствующая панель выезжает поверх содержимого
#### Scenario: Скрытие после ухода указателя
- **WHEN** указатель покидает показанную у кромки панель
- **THEN** панель снова уезжает за край
#### Scenario: Поля ввода и диалоги
- **WHEN** фокус находится в поле ввода или открыт модальный диалог либо меню
- **THEN** `Tab` выполняет обычную навигацию и не переключает панели
### Requirement: Сворачиваемые разделы панели
Контекстная панель SHALL группировать содержимое в сворачиваемые разделы, а состояние
сворачивания SHALL сохраняться; раздел «Информация» SHALL показывать метаданные фото,