# Proposal ## Why Счётчик корзины в рейле альбомов (`trash.count`) перезагружается только при смене маршрута и после «Очистить корзину». Любая другая операция, меняющая содержимое корзины, не обновляет его: после удаления фото счётчик остаётся прежним, пока пользователь не перейдёт в другой раздел. Это и есть сообщённый дефект — «при удалении фото на корзине не меняется счётчик». ## What Changes - Рейл SHALL обновлять число элементов корзины сразу после каждого действия, меняющего её содержимое, без перезагрузки страницы: помещение фото в корзину (одиночное и пакетное), восстановление, окончательное удаление, очистка корзины и удаление альбома (его фото уходят в корзину). - Изменения только во фронтенде: серверный `GET /api/trash/count` и семантика мягкого удаления корректны и не меняются. ## Capabilities ### New Capabilities Нет. ### Modified Capabilities - `ui-workspace`: добавляется требование синхронизации счётчика корзины в рейле с операциями, меняющими содержимое корзины, без перезагрузки страницы. ## Impact - Frontend: `frontend/src/lib/stores/trash.svelte.ts` (способ обновления счётчика), `frontend/src/routes/(app)/albums/[id]/+page.svelte` (пакетное удаление), `frontend/src/lib/components/PhotoPanel.svelte` (удаление из панели/просмотра), `frontend/src/routes/(app)/albums/[id]/photos/[photoId]/+page.svelte` (удаление в просмотре), `frontend/src/routes/(app)/trash/+page.svelte` (восстановление и окончательное удаление), `frontend/src/lib/components/AlbumActionsDialogs.svelte` и `frontend/src/routes/(app)/albums/[id]/settings/+page.svelte` (удаление альбома). - Backend: не затрагивается. - Вне объёма: синхронизация счётчика между сессиями/устройствами через SSE (событий корзины сервер не публикует) и Android-клиент (корзины в нём нет).