refactor(cmd): update channel sorting to use slices.SortFunc and cmp.Compare instead of sort.Slice

This commit is contained in:
ayn2op 2025-11-23 14:51:30 -05:00
parent 8f217f1278
commit c262f03380

View file

@ -1,9 +1,10 @@
package cmd
import (
"cmp"
"fmt"
"log/slog"
"sort"
"slices"
"github.com/ayn2op/discordo/internal/config"
"github.com/ayn2op/discordo/internal/ui"
@ -160,8 +161,8 @@ func (gt *guildsTree) onSelected(node *tview.TreeNode) {
return
}
sort.Slice(channels, func(i, j int) bool {
return channels[i].Position < channels[j].Position
slices.SortFunc(channels, func(a, b discord.Channel) int {
return cmp.Compare(a.Position, b.Position)
})
gt.createChannelNodes(node, channels)
@ -207,14 +208,16 @@ func (gt *guildsTree) onSelected(node *tview.TreeNode) {
return
}
sort.Slice(channels, func(a, b int) bool {
msgID := func(ch discord.Channel) discord.MessageID {
if ch.LastMessageID.IsValid() {
return ch.LastMessageID
}
return discord.MessageID(ch.ID)
msgID := func(ch discord.Channel) discord.MessageID {
if ch.LastMessageID.IsValid() {
return ch.LastMessageID
}
return msgID(channels[a]) > msgID(channels[b])
return discord.MessageID(ch.ID)
}
slices.SortFunc(channels, func(a, b discord.Channel) int {
// Descending order
return cmp.Compare(msgID(b), msgID(a))
})
for _, c := range channels {