feat(web): series, season and episode removal

Series detail exposes DELETE /api/series/{id} through the movie
removePanel, generalised over endpoints and file rollup instead of
copied. Season headers and on-disk episode rows get the settings
armed-delete control wired to #174's file endpoints, worded for what
they do: files go, wanted clears, the row stays listed.

Closes #175

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Miguel Palhas
2026-08-24 17:09:46 +01:00
parent 3dda666273
commit 7c30928907
6 changed files with 275 additions and 27 deletions
+22
View File
@@ -495,6 +495,28 @@
</div>
</section>
<!-- removal is the one library control a series carries (issue 175):
the same arming panel a movie uses — evidence first, then the
decision — wired to DELETE /api/series/{id} -->
<section class="deck-group" id="series-library" aria-label="library controls">
<header class="deck-head">
<h3 class="deck-label">library</h3>
</header>
<div class="movie-controls">
<span class="movie-controls-space"></span>
<button
type="button"
class="control control-quiet"
id="series-remove"
aria-expanded="false"
aria-controls="series-remove-panel"
>
remove
</button>
</div>
<div class="remove-panel" id="series-remove-panel" hidden></div>
</section>
<ul class="deck-rows seasons" id="rows-seasons"></ul>
</main>