diff --git a/internal/ui/chat/guilds_tree.go b/internal/ui/chat/guilds_tree.go index 169473d..4f0a39b 100644 --- a/internal/ui/chat/guilds_tree.go +++ b/internal/ui/chat/guilds_tree.go @@ -193,7 +193,7 @@ func (gt *guildsTree) getChannelNodeStyle(channelID discord.ChannelID) tcell.Sty } func (gt *guildsTree) createGuildNode(n *tview.TreeNode, guild discord.Guild) { - guildNode := tview.NewTreeNode(guild.Name).SetReference(guild.ID).SetExpandable(true) + guildNode := tview.NewTreeNode(guild.Name).SetReference(guild.ID).SetExpandable(true).SetExpanded(false) gt.setNodeLineStyle(guildNode, gt.getGuildNodeStyle(guild.ID)) n.AddChild(guildNode) gt.guildNodeByID[guild.ID] = guildNode @@ -206,7 +206,7 @@ func (gt *guildsTree) createChannelNode(node *tview.TreeNode, channel discord.Ch channelNode := tview.NewTreeNode(ui.ChannelToString(channel, gt.cfg.Icons)).SetReference(channel.ID) if channel.Type == discord.GuildForum { - channelNode.SetExpandable(true) + channelNode.SetExpandable(true).SetExpanded(false) } gt.setNodeLineStyle(channelNode, gt.getChannelNodeStyle(channel.ID)) node.AddChild(channelNode) @@ -279,6 +279,7 @@ func (gt *guildsTree) onSelected(node *tview.TreeNode) { ui.SortGuildChannels(channels) gt.createChannelNodes(node, channels) + node.Expand() case discord.ChannelID: channel, err := gt.chatView.state.Cabinet.Channel(ref) if err != nil { @@ -309,6 +310,7 @@ func (gt *guildsTree) onSelected(node *tview.TreeNode) { for _, thread := range forumThreads { gt.createChannelNode(node, thread) } + node.Expand() return } @@ -357,6 +359,7 @@ func (gt *guildsTree) onSelected(node *tview.TreeNode) { for _, c := range channels { gt.createChannelNode(node, c) } + node.Expand() } } diff --git a/internal/ui/chat/state.go b/internal/ui/chat/state.go index 57dc95b..aa97397 100644 --- a/internal/ui/chat/state.go +++ b/internal/ui/chat/state.go @@ -85,7 +85,7 @@ func (v *View) onReady(event *gateway.ReadyEvent) { // retain stale pointers to detached tree nodes. v.guildsTree.resetNodeIndex() - dmNode := tview.NewTreeNode("Direct Messages").SetReference(dmNode{}).SetExpandable(true) + dmNode := tview.NewTreeNode("Direct Messages").SetReference(dmNode{}).SetExpandable(true).SetExpanded(false) v.guildsTree.dmRootNode = dmNode root := v.guildsTree.