Files
ytdlp-site/templates/videos.html
2025-05-02 05:51:52 -06:00

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>