chore: release v0.26.1

This commit is contained in:
2026-08-21 01:43:14 +02:00
parent e3b7a35e2c
commit e6889caae9
17 changed files with 472 additions and 95 deletions
+19 -2
View File
@@ -49,8 +49,18 @@ type RowColorSettings struct {
// Configured distinguishes "saved with this off" from "saved before the
// option existed", so a new marker can default ON without silently turning
// itself back on for an operator who switched it off.
Configured bool `json:"configured"`
Rules []RowColorRule `json:"rules"`
// RecentZebra decides whether the Recent QSOs grid alternates its row
// background. "" (or "on") keeps the banding, which is what the grid has
// always done; "off" makes every row the same colour.
//
// A string with an empty default rather than a bool: a bool would have to
// mean "true when absent", and every reader would have to remember that.
RecentZebra string `json:"recent_zebra,omitempty"`
// RecentZebraColor is the alternate row's colour. Empty follows the theme,
// which is the only answer that stays right across all four of them.
RecentZebraColor string `json:"recent_zebra_color,omitempty"`
Configured bool `json:"configured"`
Rules []RowColorRule `json:"rules"`
}
// The rule ids, in priority order. The frontend matches on these and holds the
@@ -94,6 +104,13 @@ func normRowColors(s RowColorSettings) RowColorSettings {
out := RowColorSettings{
Enabled: s.Enabled, Style: s.Style, Intensity: s.Intensity,
BandMapLotw: s.BandMapLotw, Configured: true,
RecentZebra: strings.ToLower(strings.TrimSpace(s.RecentZebra)),
}
if out.RecentZebra != "off" {
out.RecentZebra = "" // anything unrecognised means the default banding
}
if c := strings.TrimSpace(s.RecentZebraColor); hexColor.MatchString(c) {
out.RecentZebraColor = c
}
if !s.Configured {
out.BandMapLotw = true // new option, on unless the operator says otherwise