diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/client/ui/core/networklist/networklist.go | 3 | ||||
| -rw-r--r-- | internal/client/ui/core/state/state.go | 11 |
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 |
