From b49489e7305e9b771485fd7cc138fdf39f2e4717 Mon Sep 17 00:00:00 2001
From: Emi Griffith
Date: Sat, 11 Jul 2026 16:49:00 -0700
Subject: [PATCH] Compare: diverging comfort bars, baseline strip, real loading
state (#68)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Rework the compare results so the winner, the cold/warm skew, and the
places' baselines all read at a glance, and make loading obvious.
- Diverging comfort bar per place: colder days grow left of a fixed
centre comfort marker, warmer days grow right, both on one 0–100%
scale — a cold-skewed place and a hot-skewed one mirror each other and
compare directly. Replaces the left-anchored stacked bar + 3-up stat
grid (the grid was the main mobile-clutter source).
- Baseline strip above the cards: every place's average basis temp on
one shared °F axis with the comfort range shaded, plus a middle-80%
(p10–p90) spread, so baselines line up side by side. computeStats now
also returns avgTemp/p10/p90.
- Stronger winner: filled accent rank badge, accent card frame, and a
"Best match" flag on the subline.
- Real in-progress state: a CSS spinner ring on loading chips, a queued
dot on pending chips, an inline spinner in the header, and shimmering
skeleton cards for still-loading places (previously only muted text —
the referenced chip spinner never existed).
- Mobile: tighter baseline gutter/axis and caption sizing.
---
static/compare.html | 4 ++
static/compare.js | 115 ++++++++++++++++++++++++++++++++++----------
static/style.css | 106 ++++++++++++++++++++++++++++++++--------
3 files changed, 181 insertions(+), 44 deletions(-)
diff --git a/static/compare.html b/static/compare.html
index 2598665..70c41b9 100644
--- a/static/compare.html
+++ b/static/compare.html
@@ -97,6 +97,10 @@
often it runs colder or warmer, and by how much.
+
+
+