diff --git a/data/album.go b/data/album.go index 95a5f79..8d907ca 100644 --- a/data/album.go +++ b/data/album.go @@ -16,7 +16,7 @@ type AlbumPreview struct { type Album struct { AlbumPreview Artist ArtistPreview - About [2]string + About string Tracks []Track } @@ -70,8 +70,7 @@ func (a *Album) parseAlbumData(doc *goquery.Document) error { } a.Name = albumData.Name a.Image = albumData.Image - a.About[0] = albumData.Description - a.About[1] = truncateText(albumData.Description) + a.About = albumData.Description for _, track := range albumMetadataFromPage.AlbumAppearances { url := strings.Replace(track.Song.Url, "https://genius.com", "", -1) diff --git a/data/lyrics.go b/data/lyrics.go index 60d378f..1611451 100644 --- a/data/lyrics.go +++ b/data/lyrics.go @@ -15,7 +15,7 @@ type Song struct { Image string Lyrics string Credits map[string]string - About [2]string + About string Album AlbumPreview } @@ -94,8 +94,7 @@ func (s *Song) parseSongData(doc *goquery.Document) error { s.Artist = songData.ArtistNames s.Image = songData.Image s.Title = songData.Title - s.About[0] = songData.Description.Plain - s.About[1] = truncateText(songData.Description.Plain) + s.About = songData.Description.Plain s.Credits = make(map[string]string) s.Album.Name = songData.Album.Name s.Album.URL = strings.Replace(songData.Album.URL, "https://genius.com", "", -1) @@ -122,16 +121,6 @@ func joinNames(data []struct { return strings.Join(names, ", ") } -func truncateText(text string) string { - textArr := strings.Split(text, "") - - if len(textArr) > 250 { - return strings.Join(textArr[0:250], "") + "..." - } - - return text -} - func (s *Song) Parse(doc *goquery.Document) error { if err := s.parseLyrics(doc); err != nil { return err diff --git a/views/album.templ b/views/album.templ index c0e6df5..f655172 100644 --- a/views/album.templ +++ b/views/album.templ @@ -3,6 +3,7 @@ package views import ( "fmt" "github.com/rramiachraf/dumb/data" + "github.com/rramiachraf/dumb/utils" ) templ AlbumPage(a data.Album) { @@ -11,7 +12,9 @@ templ AlbumPage(a data.Album) {
Album image
-

{ a.Artist.Name }

+ +

{ a.Artist.Name }

+

{ a.Name }

@@ -23,12 +26,12 @@ templ AlbumPage(a data.Album) { } - if a.About[0] != "" { + if a.About != "" {

About

- -

{ a.About[1] }

+ +

{ utils.TrimText(a.About, 250) }

} diff --git a/views/lyrics.templ b/views/lyrics.templ index 5b2fcdb..5c75b4d 100644 --- a/views/lyrics.templ +++ b/views/lyrics.templ @@ -3,6 +3,7 @@ package views import ( "fmt" "github.com/rramiachraf/dumb/data" + "github.com/rramiachraf/dumb/utils" ) templ LyricsPage(s data.Song) { @@ -23,11 +24,11 @@ templ LyricsPage(s data.Song) { @templ.Raw(s.Lyrics)
- if s.About[0] != "?" { + if s.About != "?" {

About

- -

{ s.About[1] }

+ +

{ utils.TrimText(s.About, 250) }

} if len(s.Credits) > 0 {