待ち行列への登録と状態表示を追加(新着からの登録、/queue、DATABASE_URL)

This commit is contained in:
2026-10-03 19:07:53 +09:00
parent a71b915c81
commit 4a02526e76
20 changed files with 1146 additions and 14 deletions
+23 -1
View File
@@ -21,7 +21,7 @@
{{define "newer_results"}}
<section id="newer-results" aria-label="新着一覧" aria-live="polite">
{{if .Failed}}
<p role="status">新着を取得できませんでした</p>
<p role="status">{{.ErrorText}}</p>
{{else if not .Episodes}}
<p>表示する新着はありません</p>
{{else}}
@@ -39,9 +39,31 @@
<p>配信終了: <time datetime="{{.EndAtISO}}">{{.EndAtText}}</time></p>
</div>
</a>
{{template "episode_action" .}}
</article>
{{end}}
</div>
{{end}}
</section>
{{end}}
{{define "episode_action"}}
<div class="episode-action">
{{if not .Status}}
<form action="/episodes/enqueue" method="post" hx-post="/episodes/enqueue" hx-target="closest .episode-action" hx-swap="outerHTML">
<input type="hidden" name="episode_id" value="{{.ID}}">
<input type="hidden" name="genre" value="{{.Genre}}">
<button type="submit">ダウンロード</button>
</form>
{{else}}
<span role="status">{{.StatusText}}</span>
{{if or (eq .Status "failed") (eq .Status "canceled")}}
<form action="/episodes/retry" method="post" hx-post="/episodes/retry" hx-target="closest .episode-action" hx-swap="outerHTML">
<input type="hidden" name="episode_id" value="{{.ID}}">
<input type="hidden" name="genre" value="{{.Genre}}">
<button type="submit">再試行</button>
</form>
{{end}}
{{end}}
</div>
{{end}}