feat(preferences): configurable photo info attributes stored in user profile
- backend: users.preferences jsonb (migration 000004), Me returns preferences, PATCH /auth/me/preferences with validation (visible list + labels) - frontend: gear in info section opens PhotoInfoSettingsDialog; base attribute set shown by default, remaining under ellipsis; per-attribute visibility and custom labels persisted to the profile; reset clears settings from the profile - frontend: dialog has select-all/deselect-all icon buttons (no 'show all'); EXIF constants extracted to lib/exif.ts - fix: render modal overlays via portal to document.body so they center in the viewport despite transformed panel/rail ancestors - openspec: sync lightroom-workspace-ui artifacts (spec/design/proposal/tasks 9.8)
This commit is contained in:
@@ -42,9 +42,11 @@
|
||||
- **Разделы и панели.** Правая панель — сворачиваемые разделы (состояние сохраняется), с
|
||||
разделом «Информация» (EXIF/метаданные); левая и правая панели ресайзятся перетаскиванием.
|
||||
- **Настройки информации.** Раздел «Информация» получает кнопку-шестерёнку, открывающую
|
||||
модалку со списком EXIF-атрибутов: переключатели видимости и пользовательские подписи.
|
||||
Скрытые атрибуты сворачиваются под элементом «…» (клик раскрывает все). Настройки хранятся
|
||||
в профиле пользователя (server-side) и применяются ко всем фото.
|
||||
модалку со списком EXIF-атрибутов: галочки видимости (с действиями «отметить все»/«снять
|
||||
все»), пользовательские подписи и сброс. Скрытые атрибуты сворачиваются под элементом «…»
|
||||
(клик раскрывает все). Настройки хранятся в профиле пользователя (server-side), применяются
|
||||
ко всем фото, а при отсутствии настроек показывается базовый набор; «Сбросить» удаляет
|
||||
настройки из профиля.
|
||||
- **Счётчики.** В ответе альбома — число фото и участников.
|
||||
- **Темы и хром.** Существующие 4 темы сохраняются; `dark` — графит Lightroom и дефолт,
|
||||
`neutral` — тёплый графит; переключатель упорядочен тёмная → нейтральная → светлая →
|
||||
|
||||
Reference in New Issue
Block a user