web/sparkline: guard days[i] against shorter days slice in RenderChart

This commit is contained in:
2026-05-07 18:58:33 +01:00
parent ea74965830
commit 70769f0841
+5 -1
View File
@@ -141,7 +141,8 @@ type ChartOpts struct {
// RenderChart returns an inline SVG <svg> with up to two y-axes,
// one polyline per series, hover-dot per data point, and X-axis
// labels at start / midpoint / end. With no series or empty
// series, renders a faint baseline + EmptyLabel centred.
// series, renders a faint baseline + EmptyLabel centred. Points
// beyond len(days) are ignored.
func RenderChart(series []Series, days []time.Time, opts ChartOpts) template.HTML {
if opts.Width <= 0 {
opts.Width = 600
@@ -246,6 +247,9 @@ func RenderChart(series []Series, days []time.Time, opts ChartOpts) template.HTM
seg.Reset()
}
for i, v := range s.Points {
if i >= len(days) {
break
}
if math.IsNaN(v) {
flush()
continue