Colorize the name of the guild folder if it is valid

This commit is contained in:
ayn2op 2023-01-15 15:17:55 +05:30
parent a95c1995d1
commit 892349545c
2 changed files with 22 additions and 15 deletions

View file

@ -1,11 +1,13 @@
package main
import (
"fmt"
"log"
"sort"
"strings"
"github.com/diamondburned/arikawa/v3/discord"
"github.com/diamondburned/arikawa/v3/gateway"
"github.com/gdamore/tcell/v2"
"github.com/rivo/tview"
)
@ -43,6 +45,25 @@ func newGuildsTree() *GuildsTree {
return gt
}
func (gt *GuildsTree) createGuildFolderNode(parent *tview.TreeNode, gf gateway.GuildFolder) {
var name string
if gf.Name != "" {
name = fmt.Sprintf("[%s]%s[-]", gf.Color.String(), gf.Name)
} else {
name = "Folder"
}
n := tview.NewTreeNode(name)
parent.AddChild(n)
for _, gid := range gf.GuildIDs {
if err := guildsTree.createGuildNodeFromID(n, gid); err != nil {
log.Println(err)
continue
}
}
}
func (gt *GuildsTree) createGuildNodeFromID(n *tview.TreeNode, gid discord.GuildID) error {
g, err := discordState.Cabinet.Guild(gid)
if err != nil {

View file

@ -49,21 +49,7 @@ func (s *State) onReady(r *gateway.ReadyEvent) {
continue
}
} else {
name := gf.Name
if name == "" {
name = "Folder"
}
gfNode := tview.NewTreeNode(name)
guildsTree.root.AddChild(gfNode)
for _, gid := range gf.GuildIDs {
err := guildsTree.createGuildNodeFromID(gfNode, gid)
if err != nil {
log.Println(err)
continue
}
}
guildsTree.createGuildFolderNode(guildsTree.root, gf)
}
}