summaryrefslogtreecommitdiff
path: root/internal/client
diff options
context:
space:
mode:
Diffstat (limited to 'internal/client')
-rw-r--r--internal/client/ui/core/networklist/networklist.go3
-rw-r--r--internal/client/ui/core/state/state.go11
2 files changed, 10 insertions, 4 deletions
diff --git a/internal/client/ui/core/networklist/networklist.go b/internal/client/ui/core/networklist/networklist.go
index 597a391..ac1460c 100644
--- a/internal/client/ui/core/networklist/networklist.go
+++ b/internal/client/ui/core/networklist/networklist.go
@@ -79,7 +79,8 @@ func (m Model) View() string {
lipgloss.Color(network.FgHexColor),
lipgloss.Color(network.BgHexColor),
)
- if *state.NetworkId(m.index) == i {
+ networkId := state.NetworkId(m.index)
+ if networkId != nil && *networkId == i {
builder.WriteString(lipgloss.JoinHorizontal(
ui.Center,
selectedIndicator,
diff --git a/internal/client/ui/core/state/state.go b/internal/client/ui/core/state/state.go
index db5ab6a..2b71a75 100644
--- a/internal/client/ui/core/state/state.go
+++ b/internal/client/ui/core/state/state.go
@@ -75,6 +75,9 @@ func UpdateNetworks(info *packet.NetworksInfo) {
networks[network.ID] = network.Network
State.Frequencies[network.ID] = network.Frequencies
for _, member := range network.Members {
+ if State.Members[network.ID] == nil {
+ State.Members[network.ID] = map[snowflake.ID]data.Member{}
+ }
State.Members[network.ID][member.UserID] = member
}
@@ -136,12 +139,14 @@ func UpdateMessages(info *packet.MessagesInfo) {
}
func UpdateMembers(info *packet.MembersInfo) {
- members := State.Members[info.Network]
for _, member := range info.Members {
- members[member.UserID] = member
+ if State.Members[info.Network] == nil {
+ State.Members[info.Network] = map[snowflake.ID]data.Member{}
+ }
+ State.Members[info.Network][member.UserID] = member
}
for _, removedMember := range info.RemovedMembers {
- delete(members, removedMember)
+ delete(State.Members[info.Network], removedMember)
if removedMember != *State.UserID {
continue