summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-14 17:36:33 +0200
committerKyren223 <Kyren223@proton.me>2025-01-14 17:36:33 +0200
commit142d2d2c568047b4077251e6002ece8582ec7bd5 (patch)
tree1325b4e3e5f9aa6b14de9c81d2f3c59dc1839af9 /internal
parent43bd630ecb9470b997c9f8fa47aa6960ac551faa (diff)
Client no longer shows popup if it doesn't have sufficient permissions
to update a network or frequency
Diffstat (limited to 'internal')
-rw-r--r--internal/client/ui/core/core.go23
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 {