queue.html
⎇
Raw
1{{define "queue"}}
2<div class="page-header">
3 <h2>Queue</h2>
4 <div class="actions">
5 <form method="get" action="/queue" class="inline filter-form">
6 <select name="status">
7 <option value="all" {{if eq .Data.Status "all"}}selected{{end}}>All</option>
8 <option value="queued" {{if eq .Data.Status "queued"}}selected{{end}}>Queued</option>
9 <option value="downloading" {{if eq .Data.Status "downloading"}}selected{{end}}>Active</option>
10 <option value="completed" {{if eq .Data.Status "completed"}}selected{{end}}>Completed</option>
11 <option value="error" {{if eq .Data.Status "error"}}selected{{end}}>Failed</option>
12 </select>
13 <select name="sort">
14 <option value="date" {{if eq .Data.SortBy "date"}}selected{{end}}>Date</option>
15 <option value="progress" {{if eq .Data.SortBy "progress"}}selected{{end}}>Progress</option>
16 <option value="status" {{if eq .Data.SortBy "status"}}selected{{end}}>Status</option>
17 </select>
18 <button type="submit">Filter</button>
19 </form>
20 </div>
21</div>
22
23<div class="queue-list">
24 {{range .Data.Items}}
25 <div class="queue-item {{.Status}}">
26 <div class="queue-header">
27 <div class="queue-url"><a href="/queue/{{.ID}}">{{.URL}}</a></div>
28 <div class="queue-status">
29 <span class="status-badge {{.Status}}">{{.Status}}</span>
30 {{if eq .Status "downloading"}}
31 <span class="progress">{{.ProgressPercent}}%</span>
32 {{if .CurrentSpeed}}<span class="speed">{{.CurrentSpeed}}</span>{{end}}
33 {{if .ETA}}<span class="eta">ETA: {{.ETA}}</span>{{end}}
34 {{end}}
35 </div>
36 <form method="post" action="/queue/{{.ID}}/delete" class="inline">
37 <button type="submit" class="small danger">Remove</button>
38 </form>
39 </div>
40 {{if eq .Status "downloading"}}
41 <div class="progress-bar">
42 <div class="progress-fill" style="width: {{.ProgressPercent}}%"></div>
43 </div>
44 {{end}}
45 {{if .ErrorMessage}}
46 <div class="error-message">{{.ErrorMessage}}</div>
47 {{end}}
48 <div class="queue-meta">
49 <span>Created: {{.CreatedAt.Format "2006-01-02 15:04"}}</span>
50 {{if .StartedAt.Valid}}
51 <span>Started: {{.StartedAt.Time.Format "2006-01-02 15:04"}}</span>
52 {{end}}
53 </div>
54 </div>
55 {{else}}
56 <div class="empty-state">
57 <p>Queue is empty. <a href="/download">Start a download</a>.</p>
58 </div>
59 {{end}}
60</div>
61{{end}}
62