refactor 2: use generic model for grid view

This commit is contained in:
Drew Weymouth
2023-04-28 17:25:57 -07:00
parent cf4540eb32
commit 753e7f9bcc
7 changed files with 95 additions and 65 deletions
+10 -1
View File
@@ -2,6 +2,7 @@ package browsing
import (
"log"
"strconv"
"strings"
"supersonic/backend"
"supersonic/res"
@@ -172,7 +173,15 @@ func (a *ArtistPage) showAlbumGrid() {
a.activeView = 0 // if page still loading, will show discography view first
return
}
a.albumGrid = widgets.NewFixedAlbumGrid(a.artistInfo.Album, a.im, true /*showYear*/)
model := sharedutil.MapSlice(a.artistInfo.Album, func(al *subsonic.AlbumID3) widgets.GridViewItemModel {
return widgets.GridViewItemModel{
Name: al.Name,
ID: al.ID,
CoverArtID: al.CoverArt,
Secondary: strconv.Itoa(al.Year),
}
})
a.albumGrid = widgets.NewFixedGridView(model, a.im)
a.albumGrid.OnPlay = a.onPlayAlbum
a.albumGrid.OnShowItemPage = a.onShowAlbumPage
}