feat(api,web): remove a movie, files optional
`DELETE /api/movies/{id}` took the row and left the files, and no
surface exposed it. It now accepts `delete_files`, which unlinks the
title's §7.4 folder — atomic, so sidecars go with the feature. Targets
come from `media_files`, never from re-deriving the folder name, and a
path outside its root is never touched. The torrent is untouched (§7.3):
it keeps seeding and the reaper owns it.
The release deck grows a quiet REMOVE control opening one inline
confirmation: file count, size and folder first, then a delete-files
toggle that starts off, then what the choice costs.
Closes #104
This commit is contained in:
@@ -30,6 +30,18 @@ reads the library as derived status, not flags.
|
||||
per-title override (rule→override mapping in releases.ts — bookkeeping,
|
||||
never policy; verdicts always come from the API). Esc steps back one
|
||||
layer: deck → search results → board.
|
||||
- Removal (§7.4, issue 104): REMOVE is a quiet control in the deck head,
|
||||
never a row affordance — a dense list is the wrong place for a delete.
|
||||
It opens one inline confirmation carrying the evidence first (file count,
|
||||
total size, the §7.4 folder as reported by `/api/movies/{id}/files`), then
|
||||
the decision, then the cost. "delete files from disk" is a separate toggle
|
||||
that starts OFF and stays disabled when nothing is on disk or the file list
|
||||
cannot be read; armed, the panel, its toggle word, the note and the confirm
|
||||
button all turn caution amber, and the confirm reads "remove and delete
|
||||
files" instead of "remove from library". The note says what does not happen
|
||||
either: the torrent keeps seeding (§7.3). Esc abandons the confirmation
|
||||
before it abandons the deck. On success the deck closes and the surface it
|
||||
opened over repaints, so a removed title never lingers in a list.
|
||||
- Library view (§4.2, issue #32): the LIBRARY rail control opens the library
|
||||
deck — SERIES then MOVIES groups. Status is derived and only displayed
|
||||
(§4.2 status chips in the channel-violet/neutral family for series, state
|
||||
|
||||
Reference in New Issue
Block a user