make artist/album in now playing card navigable

This commit is contained in:
Drew Weymouth
2023-01-03 16:59:16 -08:00
parent f2268ca6f8
commit 4912e6d180
7 changed files with 46 additions and 21 deletions
+8 -3
View File
@@ -55,8 +55,7 @@ func (b *bottomPanelLayout) Layout(_ []fyne.CanvasObject, size fyne.Size) {
type BottomPanel struct {
widget.BaseWidget
ImageManager *backend.ImageManager
ImageManager *backend.ImageManager
playbackManager *backend.PlaybackManager
NowPlaying *widgets.NowPlayingCard
@@ -67,7 +66,7 @@ type BottomPanel struct {
var _ fyne.Widget = (*BottomPanel)(nil)
func NewBottomPanel(p *player.Player) *BottomPanel {
func NewBottomPanel(p *player.Player, nav func(Route)) *BottomPanel {
bp := &BottomPanel{}
bp.ExtendBaseWidget(bp)
p.OnPaused(func() {
@@ -81,6 +80,12 @@ func NewBottomPanel(p *player.Player) *BottomPanel {
})
bp.NowPlaying = widgets.NewNowPlayingCard()
bp.NowPlaying.OnAlbumNameTapped(func() {
nav(AlbumRoute(bp.playbackManager.NowPlaying().AlbumID))
})
bp.NowPlaying.OnArtistNameTapped(func() {
nav(ArtistRoute(bp.playbackManager.NowPlaying().ArtistID))
})
bp.Controls = widgets.NewPlayerControls()
bp.Controls.OnPlayPause(func() {
p.PlayPause()