Add UI for viewing the album info returned by Subsonic getAlbumInfo API
- Adding "Get Info" in album page's "meatball" menu. When the option is clicked a pop up appears with the album information and links to Last.fm and MusicBrainz. Screenshot: Fixes #105
This commit is contained in:
@@ -39,6 +39,8 @@ type MediaProvider interface {
|
||||
|
||||
GetAlbum(albumID string) (*AlbumWithTracks, error)
|
||||
|
||||
GetAlbumInfo(albumID string) (*AlbumInfo, error)
|
||||
|
||||
GetArtist(artistID string) (*ArtistWithAlbums, error)
|
||||
|
||||
GetArtistInfo(artistID string) (*ArtistInfo, error)
|
||||
|
||||
@@ -18,6 +18,12 @@ type AlbumWithTracks struct {
|
||||
Tracks []*Track
|
||||
}
|
||||
|
||||
type AlbumInfo struct {
|
||||
Info string
|
||||
LastFMUrl string
|
||||
MusicBrainzID string
|
||||
}
|
||||
|
||||
type Artist struct {
|
||||
ID string
|
||||
CoverArtID string
|
||||
|
||||
@@ -59,6 +59,19 @@ func (s *subsonicMediaProvider) GetAlbum(albumID string) (*mediaprovider.AlbumWi
|
||||
return album, nil
|
||||
}
|
||||
|
||||
func (s *subsonicMediaProvider) GetAlbumInfo(albumID string) (*mediaprovider.AlbumInfo, error) {
|
||||
al, err := s.client.GetAlbumInfo(albumID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
album := &mediaprovider.AlbumInfo{
|
||||
Info: al.Notes,
|
||||
LastFMUrl: al.LastFmUrl,
|
||||
MusicBrainzID: al.MusicBrainzID,
|
||||
}
|
||||
return album, nil
|
||||
}
|
||||
|
||||
func (s *subsonicMediaProvider) GetArtist(artistID string) (*mediaprovider.ArtistWithAlbums, error) {
|
||||
ar, err := s.client.GetArtist(artistID)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user