From ccbd229d75694ffe34e665c9faa375fdff336c5b Mon Sep 17 00:00:00 2001 From: Jon Seager Date: Sun, 8 Feb 2026 16:47:30 +0000 Subject: [PATCH] style(stats): add bg-surface to cards/pills/tabs, reorder tabs - Add bg-surface background to roast stats, consumption, and country pill cards - Update tab CSS: bg-surface background, hover:border-accent/40 instead of bg-surface-alt - Add hover:border-accent/40 to clickable country pill buttons - Make Roasts the first and default tab on the stats page --- src/application/routes/app/stats.rs | 10 +++++----- static/css/input.css | 4 ++-- templates/pages/stats.html | 18 +++++++++--------- templates/partials/stats_map.html | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/src/application/routes/app/stats.rs b/src/application/routes/app/stats.rs index ace6526..bea1209 100644 --- a/src/application/routes/app/stats.rs +++ b/src/application/routes/app/stats.rs @@ -17,14 +17,14 @@ use crate::presentation::web::templates::{ }; const TABS: &[Tab] = &[ - Tab { - key: "roasters", - label: "Roasters", - }, Tab { key: "roasts", label: "Roasts", }, + Tab { + key: "roasters", + label: "Roasters", + }, Tab { key: "cups", label: "Cups", @@ -42,7 +42,7 @@ pub(crate) struct StatsQuery { } fn default_type() -> String { - "roasters".to_string() + "roasts".to_string() } #[tracing::instrument(skip(state, cookies, headers, stats_query))] diff --git a/static/css/input.css b/static/css/input.css index 65e35ef..3e730a9 100644 --- a/static/css/input.css +++ b/static/css/input.css @@ -342,13 +342,13 @@ input.input-field[type="number"] { font-weight: 500; cursor: pointer; border: 1px solid var(--border); - background: none; + background-color: var(--surface); transition: background-color 150ms ease, color 150ms ease, border-color 150ms ease; color: var(--accent); } .tab:not(.tab-active):hover { - background-color: var(--surface-alt); + border-color: color-mix(in srgb, var(--accent) 40%, transparent); } .tab-active { diff --git a/templates/pages/stats.html b/templates/pages/stats.html index a4a129a..6c29838 100644 --- a/templates/pages/stats.html +++ b/templates/pages/stats.html @@ -27,17 +27,17 @@

Roast Stats

-
+
{{ icons::map("h-6 w-6 text-accent") }} {{ roast_summary.unique_origins }} Origins
-
+
{{ icons::location("h-6 w-6 text-accent") }} {% match roast_summary.top_origin %}{% when Some with (v) %}{{ v }}{% when None %}—{% endmatch %} Top Origin
-
+
{{ icons::fire("h-6 w-6 text-accent") }} {% match roast_summary.top_roaster %}{% when Some with (v) %}{{ v }}{% when None %}—{% endmatch %} Top Roaster @@ -66,22 +66,22 @@

Consumption

-
+
{{ icons::coffee_bean("h-6 w-6 text-accent") }} {{ consumption_30d_weight }} Last 30 Days
-
+
{{ icons::coffee_bean("h-6 w-6 text-accent") }} {{ consumption_all_time_weight }} All Time
-
+
{{ icons::beaker("h-6 w-6 text-accent") }} {{ consumption.brews_last_30_days }} Brews (30d)
-
+
{{ icons::beaker("h-6 w-6 text-accent") }} {{ consumption.brews_all_time }} Brews (All Time) @@ -132,7 +132,7 @@
{% for _ in 0..3 %} -
+
@@ -145,7 +145,7 @@
{% for _ in 0..4 %} -
+
diff --git a/templates/partials/stats_map.html b/templates/partials/stats_map.html index 01b720f..b6db869 100644 --- a/templates/partials/stats_map.html +++ b/templates/partials/stats_map.html @@ -24,7 +24,7 @@ {% for entry in geo_stats.entries %} {% if !entry.iso_code.is_empty() %} {% else %} -
+
{{ entry.country_name }}