blob: 328c6d444892cad0792ba27695045a93199e0b0f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
{% import "git.sr.ht/~gabrielgio/img/pkg/database/repository" %}
{% import "git.sr.ht/~gabrielgio/img/pkg/list" %}
{% code
type AlbumPage struct {
Medias []*repository.Media
Next *repository.Pagination
Settings *repository.Settings
Albums []*repository.Album
Name string
}
func (m *AlbumPage) PreloadAttr() string {
if m.Settings.PreloadVideoMetadata {
return "metadata"
}
return "none"
}
%}
{% func (p *AlbumPage) Title() %}Media{% endfunc %}
{% func (p *AlbumPage) Content() %}
<h1 class="title text-size-1">{%s p.Name %}</h1>
<div class="tags are-large">
{% for _, a := range p.Albums %}
<a href="/album/?albumId={%s FromUInttoString(&a.ID) %}" class="tag text-size-2">{%s a.Name %}</a>
{% endfor %}
</div>
<div class="columns">
{% for _, c := range list.Chunck(p.Medias, 4) %}
<div class="column is-3">
{% for _, media := range c %}
<div class="card-image">
{% if media.IsVideo() %}
<video class="image is-fit" controls muted="true" poster="/media/thumbnail/?path_hash={%s media.PathHash %}" preload="{%s p.PreloadAttr() %}">
<source src="/media/image/?path_hash={%s media.PathHash %}" type="{%s media.MIMEType %}">
</video>
{% else %}
<figure class="image is-fit">
<img src="/media/thumbnail/?path_hash={%s media.PathHash %}">
</figure>
{% endif %}
</div>
{% endfor %}
</div>
{% endfor %}
</div>
<div>
<a href="/media/?page={%d p.Next.Page %}" class="button is-pulled-right">next</a>
</div>
{% endfunc %}
{% func (p *AlbumPage) Script() %}
{% endfunc %}
|