[client/ui] Fix stuck Windows tray dark icon on state change

Only the connected state passed a dark variant to SetDarkModeIcon, so
on dark Windows themes the connected-dark icon stuck for connecting,
error and update-* states. Pass a dark variant for every state.
This commit is contained in:
Zoltán Papp
2026-06-24 16:05:07 +02:00
parent 27616ff004
commit 98b865b7f6
2 changed files with 18 additions and 6 deletions

View File

@@ -18,18 +18,30 @@ var iconDisconnected []byte
//go:embed assets/netbird-systemtray-connecting.png
var iconConnecting []byte
//go:embed assets/netbird-systemtray-connecting-dark.png
var iconConnectingDark []byte
//go:embed assets/netbird-systemtray-error.png
var iconError []byte
//go:embed assets/netbird-systemtray-error-dark.png
var iconErrorDark []byte
//go:embed assets/netbird-systemtray-needs-login.png
var iconNeedsLogin []byte
//go:embed assets/netbird-systemtray-update-connected.png
var iconUpdateConnected []byte
//go:embed assets/netbird-systemtray-update-connected-dark.png
var iconUpdateConnectedDark []byte
//go:embed assets/netbird-systemtray-update-disconnected.png
var iconUpdateDisconnected []byte
//go:embed assets/netbird-systemtray-update-disconnected-dark.png
var iconUpdateDisconnectedDark []byte
//go:embed assets/netbird-systemtray-connected-macos.png
var iconConnectedMacOS []byte

View File

@@ -119,18 +119,18 @@ func (t *Tray) iconForState() (icon, dark []byte) {
// Windows: colored PNGs.
switch {
case connecting:
return iconConnecting, nil
return iconConnecting, iconConnectingDark
case errored:
return iconError, nil
return iconError, iconErrorDark
case needsLogin:
return iconNeedsLogin, nil
return iconNeedsLogin, iconNeedsLogin
case connected && hasUpdate:
return iconUpdateConnected, nil
return iconUpdateConnected, iconUpdateConnectedDark
case connected:
return iconConnected, iconConnectedDark
case hasUpdate:
return iconUpdateDisconnected, nil
return iconUpdateDisconnected, iconUpdateDisconnectedDark
default:
return iconDisconnected, nil
return iconDisconnected, iconDisconnected
}
}