From 892349545cb9a7d65f6d43cecda7517cd00b65f2 Mon Sep 17 00:00:00 2001 From: ayn2op Date: Sun, 15 Jan 2023 15:17:55 +0530 Subject: [PATCH] Colorize the name of the guild folder if it is valid --- guilds_tree.go | 21 +++++++++++++++++++++ state.go | 16 +--------------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/guilds_tree.go b/guilds_tree.go index f587261..6a09ac8 100644 --- a/guilds_tree.go +++ b/guilds_tree.go @@ -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 { diff --git a/state.go b/state.go index 2974df2..cc5c01d 100644 --- a/state.go +++ b/state.go @@ -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) } }