Depends on: #16
A Delete all in album action that deletes every asset in "PhotoDedupe — To Delete" from the library via PHAssetChangeRequest.deleteAssets inside one performChanges block (single system confirmation). Assets go to Recently Deleted (30-day recovery). UI must make explicit this is real library-level deletion (unlike deleting inside an album in Photos.app, which only removes from the album).
Acceptance criteria
- One confirmation deletes the whole album's contents from the library.
- Deleted assets appear in Recently Deleted and are recoverable.
- UI copy distinguishes "remove from album" vs "delete from library".
🎨 Design
Wireframed as screen 06 · Confirm in PhotoDedupe-Wireframes.html (added per #25). Two directions:
- A — "Alert sheet" (recommended): a compact macOS-style confirmation over the review. Headline count + est. storage reclaimed, an explicit "deletes from your library ≠ remove from album" pair, a green "→ Recently Deleted, recoverable 30 days" line, an I understand check, and a red Delete N photos vs. neutral Cancel. A footnote reminds that macOS shows its own single batch confirmation on top.
- B — "Full confirm step": a wizard step (not a popup) with a storage hero on the left and a sample grid of the "PhotoDedupe — To Delete" album on the right; same safety cues, more reassurance.
Maps directly to this issue's acceptance copy ("remove from album" vs "delete from library", single confirmation, Recently-Deleted recovery). See the design notes (rec. A).
Depends on: #16
A Delete all in album action that deletes every asset in "PhotoDedupe — To Delete" from the library via
PHAssetChangeRequest.deleteAssetsinside oneperformChangesblock (single system confirmation). Assets go to Recently Deleted (30-day recovery). UI must make explicit this is real library-level deletion (unlike deleting inside an album in Photos.app, which only removes from the album).Acceptance criteria
🎨 Design
Wireframed as screen 06 · Confirm in
PhotoDedupe-Wireframes.html(added per #25). Two directions:Maps directly to this issue's acceptance copy ("remove from album" vs "delete from library", single confirmation, Recently-Deleted recovery). See the design notes (rec. A).