feat(frontend): select photo in album grid and show info in panel

- single click selects a photo (ring + aria-pressed) and shows its info in the right panel without navigating; double click opens the viewer
- shared 'selection' store; panel uses the route photo in viewer mode and the selected photo in album mode; selection resets on album change
- openspec: sync lightroom-workspace-ui (grid-selection requirement, viewer chrome wording without timers, nested f fullscreen, tasks 9.9/9.10)
This commit is contained in:
iu
2026-10-10 21:33:59 +03:00
parent 642e3bcf8a
commit 78996bc053
8 changed files with 114 additions and 33 deletions
@@ -161,12 +161,16 @@ SHALL отображаться вне каркаса, но в общей тем
#### Scenario: Панель по кромке
- **WHEN** курсор касается верхней или нижней кромки экрана
- **THEN** соответствующая панель показывается и скрывается примерно через секунду после ухода курсора
- **THEN** соответствующая панель показывается, а при уходе курсора скрывается сразу
#### Scenario: Выход из полного экрана
- **WHEN** пользователь повторно нажимает кнопку или клавишу `f`
- **THEN** полноэкранный режим закрывается
#### Scenario: Полноэкранный режим приложения
- **WHEN** включён полноэкранный режим приложения, и пользователь нажимает `f`
- **THEN** открывается полноэкранный просмотр фото (вложенно), а полноэкранный режим приложения не выключается
### Requirement: Зум в просмотре
Просмотр SHALL поддерживать зум колесом мыши без прокрутки, с привязкой к указателю и
верхним пределом 200% размеров фото. `Space` SHALL возвращать изображение из любого зума во
@@ -188,7 +192,7 @@ SHALL отображаться вне каркаса, но в общей тем
#### Scenario: Стрелки соседних фото
- **WHEN** курсор находится у левой или правой кромки области просмотра
- **THEN** показывается соответствующая стрелка, скрываясь примерно через 300 мс после ухода; в зуме стрелки скрыты
- **THEN** показывается соответствующая стрелка, скрываясь сразу после ухода; в зуме стрелки скрыты
#### Scenario: Панорамирование
- **WHEN** фото увеличено
@@ -257,3 +261,19 @@ SHALL отображаться вне каркаса, но в общей тем
#### Scenario: Нет скрытых атрибутов
- **WHEN** ни один атрибут не скрыт
- **THEN** элемент «…» не отображается
### Requirement: Выбор фото в сетке
В режиме альбома одиночный выбор фото SHALL отмечать его рамкой и показывать его сведения в
контекстной панели, не открывая просмотр; двойной выбор SHALL открывать режим просмотра фото.
#### Scenario: Одиночный выбор
- **WHEN** пользователь кликает по фото в сетке
- **THEN** фото отмечено рамкой, правая панель показывает сведения об этом фото, просмотр не открывается
#### Scenario: Двойной выбор
- **WHEN** пользователь дважды кликает по фото в сетке
- **THEN** открывается режим просмотра этого фото
#### Scenario: Смена альбома
- **WHEN** пользователь переходит в другой альбом
- **THEN** отметка выбора сбрасывается