From 60d0621750d2ec794406fc6c57ba306181d9729f Mon Sep 17 00:00:00 2001 From: Aaron Axvig Date: Wed, 29 Jul 2026 10:38:14 -0500 Subject: [PATCH] Scatterplot coloring of base releases --- scripts/generate-release-statistics.mjs | 4 +++ test/release-statistics.test.mjs | 2 ++ web/js/statistics.js | 9 ++++--- web/statistics.html | 4 +++ web/styles.css | 34 +++++++++++++++++++++++++ 5 files changed, 50 insertions(+), 3 deletions(-) diff --git a/scripts/generate-release-statistics.mjs b/scripts/generate-release-statistics.mjs index c5c69c1..f9c0742 100644 --- a/scripts/generate-release-statistics.mjs +++ b/scripts/generate-release-statistics.mjs @@ -216,6 +216,10 @@ export function renderStatisticsPage(statistics) { +
+ Base release + Hotfix release +

diff --git a/test/release-statistics.test.mjs b/test/release-statistics.test.mjs index c742a58..16f0289 100644 --- a/test/release-statistics.test.mjs +++ b/test/release-statistics.test.mjs @@ -63,5 +63,7 @@ test('renders the graph without displaying the legacy release tables', () => { assert.match(html, /src="js\/statistics\.js"/); assert.match(html, /id="issue-plot-canvas"/); + assert.match(html, />Base releaseHotfix release +
+ Base release + Hotfix release +

diff --git a/web/styles.css b/web/styles.css index 5cdc19f..e3624fe 100644 --- a/web/styles.css +++ b/web/styles.css @@ -15,6 +15,9 @@ --input-bg: #ffffff; --button: #388e3c; --button-hover: #2e7d32; + --plot-base: #2e8b57; + --plot-hotfix: #2c7be5; + --plot-hover: #d97706; --shadow: rgba(20, 35, 50, 0.14); } @@ -35,6 +38,9 @@ --input-bg: #101820; --button: #3f9145; --button-hover: #4ca653; + --plot-base: #56b881; + --plot-hotfix: #79b8ff; + --plot-hover: #f2a93b; --shadow: rgba(0, 0, 0, 0.35); } } @@ -359,6 +365,34 @@ li:hover { text-align: center; } +.issue-plot-legend { + display: flex; + justify-content: center; + gap: 20px; + color: var(--text-muted); + font-size: 0.82rem; +} + +.issue-plot-legend span { + display: inline-flex; + align-items: center; + gap: 6px; +} + +.issue-plot-key { + width: 9px; + height: 9px; + border-radius: 50%; +} + +.issue-plot-key-base { + background: var(--plot-base); +} + +.issue-plot-key-hotfix { + background: var(--plot-hotfix); +} + .stats-product { margin-top: 32px; }