# Spec Delta ## MODIFIED Requirements ### Requirement: Список альбомов Приложение SHALL показывать доступные пользователю альбомы одним смешанным списком: серверные альбомы, получаемые из API, а при отсутствии сети — из локального кэша, и альбомы устройства. Элементы SHALL различать источник. Связанная пара «альбом устройства → серверный альбом» SHALL отображаться одной карточкой альбома устройства с указателем связи и меткой режима; связанный серверный альбом SHALL NOT показываться в списке отдельной записью. #### Scenario: Онлайн - **WHEN** авторизованный пользователь открывает приложение - **THEN** отображается список альбомов с обложками или плейсхолдером #### Scenario: Офлайн из кэша - **WHEN** сеть недоступна, но кэш существует - **THEN** список альбомов отображается из кэша с признаком офлайн-режима #### Scenario: Альбомы устройства - **WHEN** у приложения есть доступ к медиа устройства - **THEN** в списке появляются альбомы устройства наряду с серверными и помечены источником #### Scenario: Связанная пара - **WHEN** альбом устройства синхронизируется с серверным альбомом - **THEN** в списке показывается одна карточка альбома устройства с указателем связи и меткой режима, а связанный серверный альбом отдельной записью не показывается ## ADDED Requirements ### Requirement: Экран альбома устройства и настройки синхронизации Приложение SHALL открывать альбом устройства с сеткой медиа и SHALL предоставлять настройки синхронизации этого альбома по свайпу вправо. Настройки SHALL содержать только выбор режима синхронизации. #### Scenario: Открытие альбома устройства - **WHEN** пользователь выбирает альбом устройства в списке - **THEN** открывается сетка медиа этого альбома #### Scenario: Настройки по свайпу - **WHEN** пользователь свайпает вправо в открытом альбоме устройства - **THEN** открываются настройки синхронизации с выбором режима и только им #### Scenario: Метка перенесённого элемента - **WHEN** оригинал элемента разгружен на сервер в режиме переноса - **THEN** в сетке на элементе показывается значок облака ### Requirement: Доступ к альбомам устройства Приложение SHALL запрашивать доступ к медиа устройства, нужный для перечисления альбомов и чтения файлов, и SHALL работать без него, не показывая альбомы устройства. #### Scenario: Доступ предоставлен - **WHEN** пользователь предоставляет доступ к медиа устройства - **THEN** приложение перечисляет альбомы устройства и их содержимое #### Scenario: Доступ не предоставлен - **WHEN** доступ к медиа устройства не предоставлен - **THEN** приложение продолжает работать с серверными альбомами и не показывает альбомы устройства