2.6 KiB
2.6 KiB
Proposal
Why
Регулятор размера миниатюр работает «наоборот»: сдвиг вправо увеличивает число колонок и уменьшает плитки, тогда как пользователи ожидают обратного — вправо крупнее. Это делает управление размером контринтуитивным, а без кнопок шага нельзя подстроить сетку одним нажатием. Кнопка загрузки к тому же визуально сливается с регулятором в тулбаре альбома.
What Changes
- Инвертировать отображение регулятора: вправо — крупнее (меньше колонок), влево — мельче (больше колонок). Каноническое значение и формат хранения не меняются.
- Добавить по бокам регулятора две иконочные кнопки шага: «−» (мельче) и «+» (крупнее), в пределах существующего диапазона 2..8.
- Кнопки шага используют иконки
remove(минус) иadd(плюс). - Отделить кнопку загрузки от регулятора вертикальным разделителем в тулбаре альбома.
- Оставить единый регулятор в обоих местах — обзор альбомов и сетка фото альбома — с общим сохранённым значением.
- Не менять ключ
localStorageи смыслdensity.cols, чтобы не сломать клавиатурную навигацию (шаг строки = число колонок) и не мигрировать сохранённые значения.
Capabilities
New Capabilities
Нет.
Modified Capabilities
ui-workspace: требование «Плотность сетки» уточняется — направление регулятора (вправо крупнее), кнопки шага и единый размер в обоих местах.
Impact
- Frontend:
lib/components/DensityControl.svelte,lib/stores/density.svelte.ts,lib/icons/registry.ts,routes/(app)/albums/[id]/+page.svelte. - Сохранённое значение
localStorage['grid-cols']и семантикаdensity.colsостаются прежними. - Backend, API и зависимости не затрагиваются.