discordo/guilds_tree.go
2022-12-30 14:16:34 +05:30

45 lines
761 B
Go

package main
import (
"github.com/diamondburned/arikawa/v3/discord"
"github.com/rivo/tview"
)
type GuildsTree struct {
*tview.TreeView
}
func newGuildsTree() *GuildsTree {
gt := &GuildsTree{
TreeView: tview.NewTreeView(),
}
root := tview.NewTreeNode("")
gt.SetRoot(root)
gt.SetTopLevel(1)
gt.SetSelectedFunc(gt.onSelected)
gt.SetBorder(true)
gt.SetBorderPadding(cfg.BorderPadding())
return gt
}
func (gt *GuildsTree) newGuild(n *tview.TreeNode, gid discord.GuildID) error {
g, err := discordState.Cabinet.Guild(gid)
if err != nil {
return err
}
gn := tview.NewTreeNode(g.Name)
gn.SetReference(g.ID)
n.AddChild(gn)
return nil
}
func (gt *GuildsTree) onSelected(n *tview.TreeNode) {
ref := n.GetReference()
if ref == nil {
}
}