update track API and lyrics fixes

Signed-off-by: ari melody <ari@arimelody.me>
This commit is contained in:
ari melody 2024-08-04 00:23:55 +01:00
parent 05e16a0867
commit f276ef1ff2
5 changed files with 60 additions and 15 deletions

View file

@ -33,23 +33,32 @@ func Handler() http.Handler {
return
}
type IndexData struct {
Releases []*musicModel.Release
Artists []*musicModel.Artist
Tracks []*musicModel.Track
}
var orphan_tracks = []*musicModel.Track{}
for _, track := range global.Tracks {
if track.Release == nil {
orphan_tracks = append(orphan_tracks, track)
type (
Track struct {
*musicModel.Track
Lyrics template.HTML
// Number int
}
IndexData struct {
Releases []*musicModel.Release
Artists []*musicModel.Artist
Tracks []Track
}
)
var tracks = []Track{}
for _, track := range global.Tracks {
tracks = append(tracks, Track{
Track: track,
Lyrics: template.HTML(strings.Replace(track.Lyrics, "\n", "<br>", -1)),
})
}
serveTemplate("index.html", IndexData{
Releases: global.Releases,
Artists: global.Artists,
Tracks: global.Tracks,
Tracks: tracks,
}).ServeHTTP(w, r)
}))

View file

@ -226,13 +226,39 @@ a:hover {
}
h2.track-title {
margin: 0
margin: 0;
display: flex;
flex-direction: row;
justify-content: space-between;
}
.track-album {
margin-left: auto;
font-style: italic;
font-size: .75em;
opacity: .5;
}
.track-album.empty {
color: #ff2020;
opacity: 1;
}
.track-description {
font-style: italic;
}
.track-lyrics {
max-height: 10em;
overflow-y: scroll;
}
.track .empty {
opacity: 0.75;
}
@media screen and (max-width: 520px) {
body {
font-size: 12px;
}
}