diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-01-14 17:36:33 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-01-14 17:36:33 +0200 |
| commit | 142d2d2c568047b4077251e6002ece8582ec7bd5 (patch) | |
| tree | 1325b4e3e5f9aa6b14de9c81d2f3c59dc1839af9 /internal/client/ui/core/core.go | |
| parent | 43bd630ecb9470b997c9f8fa47aa6960ac551faa (diff) | |
Client no longer shows popup if it doesn't have sufficient permissions
to update a network or frequency
Diffstat (limited to 'internal/client/ui/core/core.go')
| -rw-r--r-- | internal/client/ui/core/core.go | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go index 7b2d711..2c77ea6 100644 --- a/internal/client/ui/core/core.go +++ b/internal/client/ui/core/core.go @@ -291,17 +291,26 @@ func (m *Model) updateConnected(msg tea.Msg) tea.Cmd { frequencyFocus := m.focus == FocusFrequencyList if !m.HasPopup() && networkFocus && index != networklist.PeersIndex { networkId := state.NetworkId(index) - if networkId != nil { - popup := networkupdate.New(*networkId) - m.networkUpdatePopup = &popup + if networkId == nil { + return nil + } + if state.State.Networks[*networkId].OwnerID != *state.UserID { + return nil } + popup := networkupdate.New(*networkId) + m.networkUpdatePopup = &popup } else if !m.HasPopup() && frequencyFocus { networkId := state.NetworkId(index) - if networkId != nil { - index := m.frequencyList.Index() - popup := frequencyupdate.New(*networkId, index) - m.frequencyUpdatePopup = &popup + if networkId == nil { + return nil + } + member := state.State.Members[*networkId][*state.UserID] + if !member.IsAdmin { + return nil } + index := m.frequencyList.Index() + popup := frequencyupdate.New(*networkId, index) + m.frequencyUpdatePopup = &popup } else { cmd := m.updatePopups(msg) if cmd != nil { |
