chore(openspec): archive add-phone-album-sync and sync main specs
Sync the deltas into phpne...
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
# 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** приложение продолжает работать с серверными альбомами и не показывает альбомы устройства
|
||||
Reference in New Issue
Block a user