From 8545cb313c91ba960fdc7602bebacf116b480d91 Mon Sep 17 00:00:00 2001 From: rramiachraf <51409801+rramiachraf@users.noreply.github.com> Date: Tue, 11 Jun 2024 21:15:27 +0100 Subject: [PATCH] feat: add artist link on lyrics page --- data/lyrics.go | 19 ++++++++++++------- views/lyrics.templ | 10 ++++------ 2 files changed, 16 insertions(+), 13 deletions(-) diff --git a/data/lyrics.go b/data/lyrics.go index 1611451..0c1abf4 100644 --- a/data/lyrics.go +++ b/data/lyrics.go @@ -10,13 +10,14 @@ import ( ) type Song struct { - Artist string - Title string - Image string - Lyrics string - Credits map[string]string - About string - Album AlbumPreview + Artist string + Title string + Image string + Lyrics string + Credits map[string]string + About string + Album AlbumPreview + ArtistPageURL string } type songResponse struct { @@ -40,6 +41,9 @@ type songResponse struct { ProducerArtists []struct { Name string } `json:"producer_artists"` + PrimaryArtist struct { + URL string + } `json:"primary_artist"` } } } @@ -97,6 +101,7 @@ func (s *Song) parseSongData(doc *goquery.Document) error { s.About = songData.Description.Plain s.Credits = make(map[string]string) s.Album.Name = songData.Album.Name + s.ArtistPageURL = utils.TrimURL(songData.PrimaryArtist.URL) s.Album.URL = strings.Replace(songData.Album.URL, "https://genius.com", "", -1) s.Album.Image = ExtractImageURL(songData.Album.Image) diff --git a/views/lyrics.templ b/views/lyrics.templ index 5c75b4d..6bf58dc 100644 --- a/views/lyrics.templ +++ b/views/lyrics.templ @@ -10,13 +10,11 @@ templ LyricsPage(s data.Song) { @layout(fmt.Sprintf("%s - %s lyrics", s.Artist, s.Title)) {