[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:
Zoltan Papp
2026-06-19 09:59:28 +02:00
committed by GitHub
co-authored by Eduard Gert braginini Pascal Fischer Claude riccardom
parent 679c7182a4
commit 8b7ce337d8
394 changed files with 46607 additions and 6687 deletions
+37
View File
@@ -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
}