63 lines
2.3 KiB
HTML
63 lines
2.3 KiB
HTML
<div class="d-flex flex-column align-items-center">
|
|
<h1>Download Video</h1>
|
|
<h2 class="fs-4 text-muted text-center">{{.Meta.Title}}</h2>
|
|
<p style="font-size: 0.85rem">{{.Url}}</p>
|
|
<a href="{{.BasePath}}/" hx-get="{{.BasePath}}/" hx-trigger="click" hx-target="#main-content"
|
|
class="btn btn-secondary btn-sm mt-3" style="width: 30rem; max-width: 100%">
|
|
Download Another Video
|
|
</a>
|
|
</div>
|
|
|
|
{{$root := .}}
|
|
{{range $vidIndex, $video := .Videos}}
|
|
{{if not (eq $vidIndex 0)}}
|
|
<hr class="mt-5" />
|
|
{{end}}
|
|
<div class="d-flex flex-column flex-lg-row justify-content-center gap-5 mt-5">
|
|
<div class="d-flex justify-content-center">
|
|
<img src="{{$video.Meta.Thumbnail}}" alt="{{$video.Meta.Title}}" style="max-height: 25rem; max-width: 100%; margin: 0 auto" />
|
|
</div>
|
|
<div class="downloads flex-lg-grow-1">
|
|
{{range $index, $format := $video.Formats}}
|
|
{{template "format" (map "root" $root "format" $format "label" $format.Format "vidIndex" $vidIndex)}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{if gt (len $video.OtherFormats) 0}}
|
|
<div class="d-grid my-3">
|
|
<button
|
|
type="button"
|
|
class="btn btn-secondary"
|
|
data-bs-toggle="collapse"
|
|
data-bs-target="#collapse-{{$root.Meta.ID}}-{{$vidIndex}}"
|
|
aria-expanded="false"
|
|
aria-controls="collapse-{{$root.Meta.ID}}-{{$vidIndex}}"
|
|
>
|
|
See More Formats
|
|
</button>
|
|
</div>
|
|
<div id="collapse-{{$root.Meta.ID}}-{{$vidIndex}}" class="collapse">
|
|
<div class="downloads d-flex d-md-grid flex-column">
|
|
{{range $index, $format := $video.OtherFormats}}
|
|
{{$label := sprintf "ext: %s, resolution: %s, filesize: %s, note: %s" $format.Ext $format.Resolution
|
|
(filesize $format.Filesize) $format.FormatNote}}
|
|
{{template "format" (map "root" $root "format" $format "label" $label "vidIndex" $vidIndex)}}
|
|
{{end}}
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
|
|
{{define "format"}}
|
|
<div style="font-size: smaller">{{.label}}</div>
|
|
<div class="flex-grow-1 d-flex gap-3">
|
|
<a class="btn btn-primary flex-grow-1" download="{{.root.Meta.ID}}-{{.format.Resolution}}.{{.format.Ext}}" P
|
|
href="{{.format.Url}}">
|
|
Download (direct)
|
|
</a>
|
|
<a class="btn btn-primary flex-grow-1" download="{{.root.Meta.ID}}-{{.format.Resolution}}.{{.format.Ext}}"
|
|
href="{{.root.BasePath}}/download/proxy?url={{queryEscape .root.Url}}&format={{.format.FormatID}}&index={{.vidIndex}}">
|
|
Download (proxied)
|
|
</a>
|
|
</div>
|
|
{{end}} |