aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Garrelou <simon@sixfoisneuf.fr>2023-12-19 10:47:06 +0100
committerSimon Garrelou <simon@sixfoisneuf.fr>2023-12-19 11:30:55 +0100
commit72bd149efa008c33c0be810b0f954c20cefffe96 (patch)
tree45a2ac8241dbe6286ee4e8aa428aa22d5edd8716
parent6a185000c771baaa84d8feceb8bfd13fd919b951 (diff)
downloadtermsonic-72bd149efa008c33c0be810b0f954c20cefffe96.tar.gz
termsonic-72bd149efa008c33c0be810b0f954c20cefffe96.zip
load albums on artist selection
-rw-r--r--src/page_artists.go31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/page_artists.go b/src/page_artists.go
index f67697c..faf1027 100644
--- a/src/page_artists.go
+++ b/src/page_artists.go
@@ -28,6 +28,23 @@ func (a *app) artistsPage() tview.Primitive {
28 28
29 sel := node.GetReference().(selection) 29 sel := node.GetReference().(selection)
30 if sel.entryType == "artist" { 30 if sel.entryType == "artist" {
31 if node.GetChildren() != nil || len(node.GetChildren()) == 0 {
32 artist, err := a.sub.GetMusicDirectory(sel.id)
33 if err != nil {
34 panic(err)
35 }
36
37 for _, album := range artist.Child {
38 subnode := tview.NewTreeNode(album.Title)
39 subnode.SetReference(selection{"album", album.ID})
40 subnode.SetColor(tcell.ColorBlue)
41 subnode.SetSelectable(true)
42
43 node.AddChild(subnode)
44 }
45
46 }
47
31 node.SetExpanded(!node.IsExpanded()) 48 node.SetExpanded(!node.IsExpanded())
32 return 49 return
33 } 50 }
@@ -84,20 +101,6 @@ func (a *app) refreshArtists() error {
84 node.SetSelectable(true) 101 node.SetSelectable(true)
85 node.SetExpanded(false) 102 node.SetExpanded(false)
86 103
87 albums, err := a.sub.GetMusicDirectory(artist.ID)
88 if err != nil {
89 return err
90 }
91
92 for _, album := range albums.Child {
93 subnode := tview.NewTreeNode(album.Title)
94 subnode.SetReference(selection{"album", album.ID})
95 subnode.SetColor(tcell.ColorBlue)
96 subnode.SetSelectable(true)
97
98 node.AddChild(subnode)
99 }
100
101 a.artistsTree.GetRoot().AddChild(node) 104 a.artistsTree.GetRoot().AddChild(node)
102 } 105 }
103 } 106 }