Единое окно: полное пользовательское удаление загрузки (delete)
Вторая половина «единого окна»: команда «Удалить» снимает наши библиотечные хардлинки (гард последней копии осознанно выключен, в отличие от Undo) и сносит раздачу с файлами из qBittorrent (deleteFiles=true) → терминальный deleted. Доступна из done/orphaned/target_missing, идемпотентна к отсутствующей стороне; инициатор различается через error_code=user_delete. Подтверждение обязательно: веб — danger-секция внизу страницы (hx-confirm + details), Telegram — двухшаговый inline-confirm. qbt.Delete + layout.Remove (unlink без ErrLastCopy, только свои ссылки под movies/series). Граф переходов не менялся — рёбра уже были. OpenSpec: state-reconciliation +1 требование; синк workflow.md; беклог закрыт. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -77,7 +77,7 @@
|
||||
{{end}}
|
||||
|
||||
<!-- Информация о торренте -->
|
||||
<div class="section" style="margin-bottom:0">
|
||||
<div class="section">
|
||||
<div class="section-head"><h2>Информация о торренте</h2><span class="hint">сырой источник и infohash</span></div>
|
||||
<dl class="kv">
|
||||
<dt>Тип источника</dt><dd>{{.SourceType}}</dd>
|
||||
@@ -90,5 +90,25 @@
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<!-- Опасная зона: полное удаление загрузки (снять хардлинки + снести раздачу с
|
||||
файлами из qBittorrent). Секция скрыта в details (раскрыть сознательно). С JS
|
||||
hx-confirm показывает диалог подтверждения; без JS гейт — только раскрытие
|
||||
details и явный submit (диалога нет). -->
|
||||
{{if .Deletable}}
|
||||
<details class="section danger-zone" style="margin-bottom:0;border-color:color-mix(in srgb,var(--st-err) 35%,transparent)">
|
||||
<summary style="color:var(--st-err);cursor:pointer;font-weight:600">Опасная зона</summary>
|
||||
<p class="muted" style="margin:var(--sp-3) 0">
|
||||
Полное удаление снимет библиотечные хардлинки <strong>и</strong> снесёт раздачу
|
||||
с файлами из qBittorrent — освободит место. Действие необратимо.
|
||||
</p>
|
||||
<form method="post" action="/ui/downloads/{{.ID}}/delete"
|
||||
hx-post="/ui/downloads/{{.ID}}/delete" hx-target="#download-main" hx-swap="outerHTML"
|
||||
hx-confirm="Удалить загрузку? Раздача и файлы будут снесены, место освобождено. Действие необратимо.">
|
||||
<input type="hidden" name="surface" value="download">
|
||||
<button class="btn btn-danger" type="submit">Удалить загрузку</button>
|
||||
</form>
|
||||
</details>
|
||||
{{end}}
|
||||
</main>
|
||||
{{end}}
|
||||
|
||||
Reference in New Issue
Block a user