dumb/views/lyrics.templ

62 lines
1.3 KiB
Plaintext
Raw Normal View History

package views
import (
"fmt"
"github.com/rramiachraf/dumb/data"
2024-06-11 21:02:58 +01:00
"github.com/rramiachraf/dumb/utils"
)
templ LyricsPage(s data.Song) {
@layout(fmt.Sprintf("%s - %s lyrics", s.Artist, s.Title)) {
2024-06-09 21:29:17 +01:00
<div id="container" class="trio-split">
<div id="metadata">
2024-05-01 22:22:54 +01:00
<img
id="album-artwork"
src={ data.ExtractImageURL(s.Image) }
alt="Song image"
/>
2024-03-04 17:41:01 +01:00
<div id="metadata-info">
<h2>{ s.Artist }</h2>
<h1>{ s.Title }</h1>
</div>
</div>
<div id="lyrics">
@templ.Raw(s.Lyrics)
</div>
<div id="info">
2024-06-11 21:02:58 +01:00
if s.About != "?" {
2024-06-09 21:29:17 +01:00
<div id="description" dir="auto">
2024-03-04 19:18:32 +01:00
<h1 id="title">About</h1>
2024-06-11 21:02:58 +01:00
<p class="hidden" id="full">{ s.About }</p>
<p id="summary">{ utils.TrimText(s.About, 250) }</p>
2024-03-04 19:18:32 +01:00
</div>
}
if len(s.Credits) > 0 {
<div id="credits">
<h1 id="title">Credits</h1>
for key, val := range s.Credits {
<details>
<summary>{ key }</summary>
<p>{ val }</p>
</details>
}
</div>
}
2024-03-04 17:41:01 +01:00
if s.Album.Name != "" {
<div id="lyrics-album-container">
<h1 id="title">{ s.Album.Name }</h1>
<a href={ templ.URL(s.Album.URL) }>
2024-05-01 22:22:54 +01:00
<img
title={ "Album: " + s.Album.Name }
id="album-artwork"
src={ s.Album.Image }
alt="Album image"
/>
2024-03-04 17:41:01 +01:00
</a>
</div>
}
</div>
</div>
}
}