mirror of
https://github.com/netbirdio/netbird.git
synced 2026-09-23 23:29:08 +02:00
[client] UI refactor (#6069)
Refactor UI --------- Co-authored-by: Eduard Gert <kontakt@eduardgert.de> Co-authored-by: braginini <bangvalo@gmail.com> Co-authored-by: Pascal Fischer <32096965+pascal-fischer@users.noreply.github.com> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: riccardom <riccardomanfrin@gmail.com>
This commit is contained in:
co-authored by
Eduard Gert
braginini
Pascal Fischer
Claude
riccardom
parent
679c7182a4
commit
8b7ce337d8
@@ -0,0 +1,37 @@
|
||||
//go:build !android && !ios && !freebsd && !js
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
log "github.com/sirupsen/logrus"
|
||||
)
|
||||
|
||||
// refreshRestrictions re-reads the operator-disabled UI flags and re-gates the
|
||||
// menu. Must run on every config_changed event: the daemon re-applies its MDM
|
||||
// policy on each engine spawn.
|
||||
func (t *Tray) refreshRestrictions() {
|
||||
r, err := t.svc.Settings.GetRestrictions(context.Background())
|
||||
if err != nil {
|
||||
log.Debugf("get restrictions: %v", err)
|
||||
return
|
||||
}
|
||||
t.featureMu.Lock()
|
||||
changed := t.disableProfiles != r.Features.DisableProfiles ||
|
||||
t.disableNetworks != r.Features.DisableNetworks
|
||||
t.disableProfiles = r.Features.DisableProfiles
|
||||
t.disableNetworks = r.Features.DisableNetworks
|
||||
t.featureMu.Unlock()
|
||||
// relayoutMenu rebuilds the whole tree, so skip the no-op refresh (common case).
|
||||
if changed {
|
||||
t.relayoutMenu()
|
||||
}
|
||||
}
|
||||
|
||||
// featuresDisabled returns the cached flags under featureMu.
|
||||
func (t *Tray) featuresDisabled() (profiles, networks bool) {
|
||||
t.featureMu.Lock()
|
||||
defer t.featureMu.Unlock()
|
||||
return t.disableProfiles, t.disableNetworks
|
||||
}
|
||||
Reference in New Issue
Block a user