[client] Fix stuck Windows tray dark icon on state change (#6532)

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:
Zoltan Papp
2026-06-28 11:58:52 +02:00
committed by GitHub
parent e1c5604791
commit 95de22d408
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
}
}