library_detail.html
⎇
Raw
1{{define "library_detail"}}
2<div class="detail-view">
3 <div class="detail-header">
4 <h2>{{.Data.Media.Title}}</h2>
5 <details class="delete-overlay">
6 <summary role="button" class="small danger">Delete</summary>
7 <div class="overlay-panel">
8 <p>Are you sure you want to delete this media?</p>
9 <form method="post" action="/library/{{.Data.Media.ID}}/delete" class="form-actions">
10 <button type="submit" class="danger">Yes, Delete</button>
11 </form>
12 </div>
13 </details>
14 </div>
15
16 <div class="player-container">
17 {{if .Data.Media.IsAudio}}
18 <audio controls>
19 <source src="/media/{{.Data.Media.ID}}" type="{{mimeType .Data.Media.Filepath}}">
20 Your browser does not support the audio element.
21 </audio>
22 {{else}}
23 <video controls preload="metadata">
24 <source src="/media/{{.Data.Media.ID}}" type="{{mimeType .Data.Media.Filepath}}">
25 {{range .Data.Subtitles}}
26 <track kind="subtitles" src="{{.Src}}" srclang="{{.Lang}}" label="{{.Label}}">
27 {{end}}
28 Your browser does not support the video element.
29 </video>
30 {{end}}
31 </div>
32
33 <div class="detail-meta">
34 <dl>
35 <dt>Filename</dt>
36 <dd>{{baseName .Data.Media.Filepath}}</dd>
37
38 {{if .Data.Media.URL}}
39 <dt>Source URL</dt>
40 <dd><a href="{{.Data.Media.URL}}" target="_blank">{{.Data.Media.URL}}</a></dd>
41 {{end}}
42 </dl>
43
44 <details>
45 <summary role="button" class="small secondary">More Details</summary>
46 <dl>
47 {{if .Data.Media.Duration}}
48 <dt>Duration</dt>
49 <dd>{{formatDuration .Data.Media.Duration}}</dd>
50 {{end}}
51
52 {{if .Data.Media.Description}}
53 <dt>Description</dt>
54 <dd>{{.Data.Media.Description}}</dd>
55 {{end}}
56
57 {{if .Data.Metadata}}
58 {{if .Data.Metadata.Container}}
59 <dt>Container</dt>
60 <dd>{{.Data.Metadata.Container}}</dd>
61 {{end}}
62
63 {{if .Data.Metadata.Resolution}}
64 <dt>Resolution</dt>
65 <dd>{{.Data.Metadata.Resolution}}</dd>
66 {{end}}
67
68 {{range .Data.Metadata.VideoStreams}}
69 <dt>Video</dt>
70 <dd>
71 {{.Codec}}
72 {{if .Profile}}({{.Profile}}){{end}}
73 {{if .Width}}[{{.Width}}x{{.Height}}]{{end}}
74 {{if .FPS}}@ {{.FPS}} fps{{end}}
75 {{if .PixelFormat}}, {{.PixelFormat}}{{end}}
76 {{if .Bitrate}}, {{.Bitrate}} kbps{{end}}
77 </dd>
78 {{end}}
79
80 {{range .Data.Metadata.AudioStreams}}
81 <dt>Audio</dt>
82 <dd>
83 {{.Codec}}
84 {{if .Language}}[{{.Language}}]{{end}}
85 {{if .SampleRate}}, {{.SampleRate}} Hz{{end}}
86 {{if .ChannelLayout}}, {{.ChannelLayout}}{{else if .Channels}}, {{.Channels}} channels{{end}}
87 {{if .SampleFormat}}, {{.SampleFormat}}{{end}}
88 {{if .Bitrate}}, {{.Bitrate}} kbps{{end}}
89 </dd>
90 {{end}}
91
92 {{range .Data.Metadata.SubtitleStreams}}
93 <dt>Subtitle</dt>
94 <dd>
95 {{.Codec}}
96 {{if .Language}}[{{.Language}}]{{end}}
97 {{if .Title}}- {{.Title}}{{end}}
98 </dd>
99 {{end}}
100
101 {{if .Data.Metadata.FileSize}}
102 <dt>File Size</dt>
103 <dd>{{formatFileSize .Data.Metadata.FileSize}}</dd>
104 {{end}}
105 {{end}}
106
107 <dt>File</dt>
108 <dd>{{.Data.Media.Filepath}}</dd>
109 </dl>
110 </details>
111 </div>
112</div>
113{{end}}
114