feat(web): зум клавишами + и - в просмотре фото

В режиме просмотра фотографии (обычный и полноэкранный) клавиши + и - меняют
масштаб изображения на шаг, сохраняя точку в центре просмотра. Пока открыт
просмотр, эти клавиши больше не меняют размер миниатюр в сетке.
This commit is contained in:
iu
2026-10-20 22:01:41 +03:00
parent 50b9983be4
commit 35f84399bc
4 changed files with 88 additions and 6 deletions
+9 -2
View File
@@ -83,7 +83,8 @@ SHALL отображаться вне каркаса, но в общей тем
сторону уменьшения и увеличения. Выбранный размер SHALL сохраняться между сессиями и SHALL
быть общим для обзора альбомов и сетки фото альбома. Клавиши `+` и `-` SHALL менять размер
миниатюр на шаг так же, как кнопки регулятора; при вводе текста и в открытых диалогах либо
меню эти клавиши SHALL сохранять обычное действие.
меню эти клавиши SHALL сохранять обычное действие. В режиме просмотра фото те же клавиши
SHALL изменять зум изображения, а не размер миниатюр.
#### Scenario: Изменение размера
@@ -254,7 +255,8 @@ SHALL выдвигать правую панель поверх содержим
### Requirement: Зум в просмотре
Просмотр SHALL поддерживать зум колесом мыши без прокрутки, с привязкой к указателю и
верхним пределом 200% размеров фото. `Space` SHALL возвращать изображение из любого зума во
верхним пределом 200% размеров фото. Клавиши `+` и `-` SHALL менять масштаб на шаг, сохраняя
точку в центре просмотра. `Space` SHALL возвращать изображение из любого зума во
вписанный вид, а из вписанного — в 100%. При зуме SHALL догружаться оригинал изображения.
Стрелки соседних фото SHALL появляться у левой/правой кромки и прятаться в зуме. Зум SHALL
работать и в полноэкранном режиме.
@@ -263,6 +265,11 @@ SHALL выдвигать правую панель поверх содержим
- **WHEN** пользователь вращает колесо мыши над фото
- **THEN** масштаб меняется относительно курсора, страница не прокручивается, предел — 200%
#### Scenario: Зум клавишами
- **WHEN** пользователь нажимает `+` или `-` в режиме просмотра фото
- **THEN** масштаб меняется на шаг, точка в центре просмотра остаётся на месте, а в полноэкранном
режиме зум работает так же
#### Scenario: Пробел
- **WHEN** пользователь нажимает `Space`
- **THEN** из вписанного вида изображение переходит в 100%, а из любого зума возвращается во вписанный