From 685cd7d5e7ce41f7223e227b2dd8cc7d9524e6ff Mon Sep 17 00:00:00 2001 From: ayntgl Date: Mon, 18 Oct 2021 15:59:36 +0400 Subject: [PATCH] refactor: check if ref is nil to determine TreeNode is channel or not --- ui.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/ui.go b/ui.go index 4a26e16..0fac238 100644 --- a/ui.go +++ b/ui.go @@ -58,11 +58,12 @@ func onChannelsTreeSelected(n *tview.TreeNode) { // Unhighlight the already-highlighted regions. messagesView.Highlight() - if len(n.GetChildren()) != 0 || n.GetText() == "Direct Messages" { + ref := n.GetReference() + // If the node's reference is nil, the selected node is a guild or direct messages node; expand or collapse accordingly. + if ref == nil { n.SetExpanded(!n.IsExpanded()) } else { - cID := n.GetReference().(string) - c, err := session.State.Channel(cID) + c, err := session.State.Channel(ref.(string)) if err != nil { return } @@ -87,7 +88,7 @@ func onChannelsTreeSelected(n *tview.TreeNode) { } go func() { - ms, err := session.ChannelMessages(cID, conf.GetMessagesLimit, "", "", "") + ms, err := session.ChannelMessages(c.ID, conf.GetMessagesLimit, "", "", "") if err != nil { return }