102 lines
3.8 KiB
HTML
102 lines
3.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
{{if .refresh}}
|
|
<meta http-equiv="refresh" content="15">
|
|
{{end}}
|
|
<title>Downloaded Videos</title>
|
|
<link rel="stylesheet" href="/static/style/common.css">
|
|
<link rel="stylesheet" href="/static/style/videos.css">
|
|
<link rel="stylesheet" href="/static/style/video-card.css">
|
|
{{template "header-css" .}}
|
|
{{template "footer-css" .}}
|
|
</head>
|
|
|
|
<body>
|
|
{{template "header" .}}
|
|
<h1>Downloaded Videos</h1>
|
|
|
|
<div class="video-list">
|
|
{{range .videos}}
|
|
<div class="video-card" id="video-card-{{.ID}}">
|
|
{{$bareHidden := ""}}
|
|
{{$linkHidden := ""}}
|
|
{{if or (eq .Status "completed") (eq .Status "transcoding") (eq .Status "download completed")}}
|
|
{{$bareHidden = "hidden"}}
|
|
{{else}}
|
|
{{$linkHidden = "hidden"}}
|
|
{{end}}
|
|
<div class="video-title video-title-link {{$linkHidden}}">
|
|
<a href="/video/{{.ID}}">{{.Title}}</a>
|
|
</div>
|
|
<div class="video-title video-title-bare {{$bareHidden}}">
|
|
{{.Title}}
|
|
</div>
|
|
{{if (eq .UploaderUrl "")}}
|
|
<div class="video-info video-artist-bare">{{.Artist}}</div>
|
|
{{else}}
|
|
<div class="video-info video-artist-link"><a href="{{.UploaderUrl}}">{{.Artist}}</a></div>
|
|
{{end}}
|
|
<div class="video-info"><a href="{{.URL}}">{{.URL}}</a></div>
|
|
<div class="video-info video-status">{{.Status}}</div>
|
|
<div class="video-info">
|
|
{{if .Audio}} Audio {{end}}
|
|
{{if .Video}} Video {{end}}
|
|
</div>
|
|
<div class="video-options">
|
|
{{$processHidden := ""}}
|
|
{{$deleteHidden := ""}}
|
|
{{$restartHidden := ""}}
|
|
{{if eq .Status "completed"}}
|
|
{{$restartHidden = "hidden"}}
|
|
{{else if eq .Status "failed"}}
|
|
{{$processHidden = "hidden"}}
|
|
{{else}}
|
|
{{$processHidden = "hidden"}}
|
|
{{$deleteHidden = "hidden"}}
|
|
{{$restartHidden = "hidden"}}
|
|
{{end}}
|
|
<form action="/video/{{.ID}}/process" method="post" style="display:inline;">
|
|
<button type="submit" class="reprocess-btn {{$processHidden}}">Reprocess</button>
|
|
</form>
|
|
<form action="/video/{{.ID}}/delete" method="post" style="display:inline;">
|
|
<button type="submit" class="delete-btn {{$deleteHidden}}">Delete</button>
|
|
</form>
|
|
<form action="/video/{{.ID}}/restart" method="post" style="display:inline;">
|
|
<button type="submit" class="restart-btn {{$restartHidden}}">Restart</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
<h1>Playlists</h1>
|
|
<div class="video-list">
|
|
{{range .playlists}}
|
|
<div class="video-card">
|
|
<div class="video-title">
|
|
{{if eq .Status "completed"}}
|
|
<a href="/p/{{.ID}}">{{.Title}}</a>
|
|
{{else}}
|
|
{{.Title}}
|
|
{{end}}
|
|
</div>
|
|
<div class="video-info"><a href="{{.URL}}">{{.URL}}</a></div>
|
|
<div class="video-options">
|
|
<form action="/p/{{.ID}}/delete" method="post" style="display:inline;">
|
|
<button type="submit" class="delete-btn">Delete</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
</div>
|
|
|
|
|
|
{{template "footer" .}}
|
|
<!-- <script src="/static/script/videos-events.js" defer></script> -->
|
|
</body>
|
|
|
|
</html> |