- Touch/pen tap opens the viewer; mouse click still selects, dblclick opens - Panel and rail emit a single transform utility so the panel actually slides in below 1280px (Tailwind v4 utility ordering made the base translate-x-full win over the conditional translate-x-0) - Add touch-action: manipulation to grid cells
35 lines
2.2 KiB
Markdown
35 lines
2.2 KiB
Markdown
# Proposal
|
|
|
|
## Why
|
|
|
|
На узких экранах (< 1280px) кнопка «Панель» не открывает правую панель, а на сенсорных
|
|
устройствах фото нельзя открыть одним касанием (двойной клик для touch недоступен). Оба
|
|
дефекта ломают мобильный сценарий просмотра.
|
|
|
|
## What Changes
|
|
|
|
- Исправить выдвижение правой панели на узких экранах: у элемента панели ровно один класс
|
|
трансформации вместо конфликтующих постоянного и условного.
|
|
- Нормализовать по тому же принципу рейл альбомов, чтобы порядок утилит Tailwind v4 не мог
|
|
вернуть дефект.
|
|
- На сенсорных устройствах одиночное касание по фото открывает режим просмотра; выделение
|
|
тапом не выполняется. Мышь сохраняет прежнее поведение: клик — выделение, двойной — открытие.
|
|
- Мультивыбор на сенсорных устройствах доступен через долгое нажатие (контекстное меню).
|
|
|
|
## Capabilities
|
|
|
|
### New Capabilities
|
|
<!-- нет новых возможностей -->
|
|
|
|
### Modified Capabilities
|
|
- `ui-workspace`: адаптивность рабочего стола (панель/рейл на узком экране) и выбор фото в сетке
|
|
(открытие по одному касанию на сенсорных экранах).
|
|
|
|
## Impact
|
|
|
|
- `frontend/src/lib/components/AppShell.svelte` — классы трансформации панели и рейла.
|
|
- `frontend/src/lib/components/PhotoGrid.svelte` и `frontend/src/routes/(app)/albums/[id]/+page.svelte`
|
|
— обработка одиночного касания/клика по фото.
|
|
- Спека `ui-workspace`: уточнение двух требований.
|
|
- Клавиатурная навигация и ровинг `tabindex` не затрагиваются.
|