From fc7b6f72e118910e104258360956eda6a6c5cc2d Mon Sep 17 00:00:00 2001 From: Tyler Koenig Date: Sat, 16 May 2026 13:57:41 -0400 Subject: [PATCH] =?UTF-8?q?fix(tui):=20sparkline=20right-aligned=20?= =?UTF-8?q?=E2=80=94=20current=20time=20at=20right=20edge,=20dots=20fill?= =?UTF-8?q?=20left?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/tui/tab_sites.go | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/internal/tui/tab_sites.go b/internal/tui/tab_sites.go index ebc4253..ffd50dc 100644 --- a/internal/tui/tab_sites.go +++ b/internal/tui/tab_sites.go @@ -61,6 +61,9 @@ func latencySparkline(latencies []time.Duration, width int) string { } var sb strings.Builder + if remaining := width - len(samples); remaining > 0 { + sb.WriteString(subtleStyle.Render(strings.Repeat("·", remaining))) + } spread := maxL - minL for _, l := range samples { idx := 0 @@ -80,10 +83,6 @@ func latencySparkline(latencies []time.Duration, width int) string { sb.WriteString(dangerStyle.Render(ch)) } } - - if remaining := width - len(samples); remaining > 0 { - sb.WriteString(subtleStyle.Render(strings.Repeat("·", remaining))) - } return sb.String() } @@ -98,6 +97,9 @@ func heartbeatSparkline(statuses []bool, width int) string { } var sb strings.Builder + if remaining := width - len(samples); remaining > 0 { + sb.WriteString(subtleStyle.Render(strings.Repeat("·", remaining))) + } for _, up := range samples { if up { sb.WriteString(specialStyle.Render("▁")) @@ -105,10 +107,6 @@ func heartbeatSparkline(statuses []bool, width int) string { sb.WriteString(dangerStyle.Render("█")) } } - - if remaining := width - len(samples); remaining > 0 { - sb.WriteString(subtleStyle.Render(strings.Repeat("·", remaining))) - } return sb.String() }