mirror of
https://github.com/aditya-K2/gspt.git
synced 2026-01-09 22:08:04 -05:00
Load Playlists in draw func
This commit is contained in:
33
ui/nav.go
33
ui/nav.go
@@ -52,28 +52,39 @@ type PlaylistNav struct {
|
|||||||
done func(error)
|
done func(error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewPlaylistNav(done func(e error)) (*PlaylistNav, error) {
|
func NewPlaylistNav() *PlaylistNav {
|
||||||
T := tview.NewTable()
|
T := tview.NewTable()
|
||||||
T.SetSelectable(true, false).SetBorder(true)
|
T.SetSelectable(true, false).SetBorder(true)
|
||||||
T.SetTitle("Playlists").SetTitleAlign(tview.AlignLeft)
|
T.SetTitle("Playlists").SetTitleAlign(tview.AlignLeft)
|
||||||
p, err := spt.CurrentUserPlaylists(done)
|
v := &PlaylistNav{&defView{}, T, nil, make(chan bool), func(err error) {
|
||||||
|
if err != nil {
|
||||||
if err != nil {
|
SendNotification(err.Error())
|
||||||
return nil, err
|
}
|
||||||
}
|
}}
|
||||||
|
|
||||||
v := &PlaylistNav{&defView{}, T, p, make(chan bool), done}
|
|
||||||
v.listen()
|
v.listen()
|
||||||
|
|
||||||
T.SetDrawFunc(func(s tcell.Screen, x, y, w, h int) (int, int, int, int) {
|
T.SetDrawFunc(func(s tcell.Screen, x, y, w, h int) (int, int, int, int) {
|
||||||
v.Draw()
|
v.Draw()
|
||||||
return T.GetInnerRect()
|
return T.GetInnerRect()
|
||||||
})
|
})
|
||||||
|
return v
|
||||||
return v, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (v *PlaylistNav) Draw() {
|
func (v *PlaylistNav) Draw() {
|
||||||
|
if v.Playlists == nil {
|
||||||
|
done := func(err error) {
|
||||||
|
if err != nil {
|
||||||
|
SendNotification(err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
App.Draw()
|
||||||
|
}
|
||||||
|
p, err := spt.CurrentUserPlaylists(done)
|
||||||
|
if err != nil {
|
||||||
|
SendNotification(err.Error())
|
||||||
|
return
|
||||||
|
}
|
||||||
|
v.Playlists = p
|
||||||
|
}
|
||||||
for k, p := range *v.Playlists {
|
for k, p := range *v.Playlists {
|
||||||
v.Table.SetCell(k, 0,
|
v.Table.SetCell(k, 0,
|
||||||
GetCell(p.Name, PlaylistNavStyle))
|
GetCell(p.Name, PlaylistNavStyle))
|
||||||
|
|||||||
Reference in New Issue
Block a user