diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-02-06 16:45:59 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-02-06 16:45:59 +0200 |
| commit | 242add420da163223405650c6509e48a2aea4433 (patch) | |
| tree | 039f89316d3f48d6ede0f319306fec46cce38dca /internal/client | |
| parent | 3c05ff093739ca02e6ed2e1e736b59360d111e1e (diff) | |
Implemented network icon notifications for user signals icon
Diffstat (limited to 'internal/client')
| -rw-r--r-- | internal/client/ui/core/networklist/networklist.go | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/internal/client/ui/core/networklist/networklist.go b/internal/client/ui/core/networklist/networklist.go index 0c8300a..2e6b970 100644 --- a/internal/client/ui/core/networklist/networklist.go +++ b/internal/client/ui/core/networklist/networklist.go @@ -16,15 +16,8 @@ var ( sepStyle = lipgloss.NewStyle().Width(0).BorderBackground(colors.BackgroundDimmer). Border(lipgloss.ThickBorder(), false, true, false, false) - selectedIndicator = "š\nā\nš" - notification = " \nā\n " - signalsIcon = ui.IconStyle("ī· ", colors.Turquoise, colors.DarkerCyan, colors.BackgroundDimmer) - signalsButton = signalsIcon.Background(colors.BackgroundDimmer).Padding(0, 1, 1).String() - signalsButtonSelected = lipgloss.JoinHorizontal( - ui.Center, - selectedIndicator, - signalsIcon.Background(colors.BackgroundDimmer).Padding(0, 1, 1, 0).String(), - ) + selectedIndicator = "š\nā\nš" + notification = " \nā\n " backgroundStyle = lipgloss.NewStyle().Background(colors.BackgroundDimmer) ) @@ -53,11 +46,31 @@ func (m Model) Init() tea.Cmd { func (m Model) View() string { var builder strings.Builder + + pings := 0 + for _, signal := range state.Data.Signals { + pings += state.State.Notifications[signal] + } + var signalsIcon lipgloss.Style + if pings == 0 { + signalsIcon = ui.IconStyle("ī· ", colors.Turquoise, colors.DarkerCyan, colors.BackgroundDimmer) + } else { + signalsIcon = ui.IconStyleNotif("ī· ", colors.Turquoise, colors.DarkerCyan, colors.BackgroundDimmer, pings) + } + builder.WriteString("\n") if m.index == SignalsIndex { + signalsButtonSelected := lipgloss.JoinHorizontal( + ui.Center, + selectedIndicator, + signalsIcon.Background(colors.BackgroundDimmer). + Padding(0, 1, 1, 0).String(), + ) builder.WriteString(signalsButtonSelected) } else { - builder.WriteString(signalsButton) + signalsButtonStyle := signalsIcon. + Background(colors.BackgroundDimmer).Padding(0, 1, 1).String() + builder.WriteString(signalsButtonStyle) } builder.WriteString("\n") |
