diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-02-10 16:57:30 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-02-10 16:57:30 +0200 |
| commit | 1c4ecdebee7d7ac0322d7cb6c943ed8e53fd6e02 (patch) | |
| tree | 108ff332fbe263641a13448466e0650bee7e2ad1 /internal/client | |
| parent | 20bea803135ba824c6bb0b5fa0f252423d0cd2dd (diff) | |
Networklist now properly darkens custom colors from networks
Diffstat (limited to 'internal/client')
| -rw-r--r-- | internal/client/ui/colors/colors.go | 13 | ||||
| -rw-r--r-- | internal/client/ui/core/core.go | 2 | ||||
| -rw-r--r-- | internal/client/ui/core/networklist/networklist.go | 19 |
3 files changed, 23 insertions, 11 deletions
diff --git a/internal/client/ui/colors/colors.go b/internal/client/ui/colors/colors.go index 2c11f72..845018c 100644 --- a/internal/client/ui/colors/colors.go +++ b/internal/client/ui/colors/colors.go @@ -156,6 +156,7 @@ func Save() { func Restore() { Load(colors) + isDarkened = false } func Load(colors []lipgloss.Color) { @@ -255,15 +256,25 @@ func ToHexRGB(r, g, b uint8) string { return fmt.Sprintf("#%02X%02X%02X", r, g, b) } +var isDarkened = false + +const DarkeningFactor = 0.5 + func Darken() { Save() colors := Get() for i, color := range colors { - colors[i] = DarkenColor(color, 0.5) + colors[i] = DarkenColor(color, DarkeningFactor) } Load(colors) + + isDarkened = true +} + +func IsDarkened() bool { + return isDarkened } func DarkenColor(color lipgloss.Color, factor float64) lipgloss.Color { diff --git a/internal/client/ui/core/core.go b/internal/client/ui/core/core.go index 2122fd0..160df87 100644 --- a/internal/client/ui/core/core.go +++ b/internal/client/ui/core/core.go @@ -171,6 +171,8 @@ func (m Model) View() string { popup = m.banViewPopup.View() } else if m.signalAddPopup != nil { popup = m.signalAddPopup.View() + } else { + assert.Never("missing handling of a popup!") } x := (ui.Width - lipgloss.Width(popup)) / 2 diff --git a/internal/client/ui/core/networklist/networklist.go b/internal/client/ui/core/networklist/networklist.go index 16afda1..69d7c76 100644 --- a/internal/client/ui/core/networklist/networklist.go +++ b/internal/client/ui/core/networklist/networklist.go @@ -75,6 +75,13 @@ func (m Model) View() string { networks = networks[m.base:upper] for i, networkId := range networks { network := state.State.Networks[networkId] + fg := lipgloss.Color(network.FgHexColor) + bg := lipgloss.Color(network.BgHexColor) + + if colors.IsDarkened() { + fg = colors.DarkenColor(fg, colors.DarkeningFactor) + bg = colors.DarkenColor(bg, colors.DarkeningFactor) + } pings, ok := 0, false frequencies := state.State.Frequencies[networkId] @@ -86,17 +93,9 @@ func (m Model) View() string { var icon lipgloss.Style if ok && pings != 0 { - icon = ui.IconStyleNotif(network.Icon, - lipgloss.Color(network.FgHexColor), - lipgloss.Color(network.BgHexColor), - colors.BackgroundDimmer, pings, - ) + icon = ui.IconStyleNotif(network.Icon, fg, bg, colors.BackgroundDimmer, pings) } else { - icon = ui.IconStyle(network.Icon, - lipgloss.Color(network.FgHexColor), - lipgloss.Color(network.BgHexColor), - colors.BackgroundDimmer, - ) + icon = ui.IconStyle(network.Icon, fg, bg, colors.BackgroundDimmer) } if m.index == m.base+i { |
