Commit Graph
10 Commits
Author SHA1 Message Date
Nate EmmertandClaude Sonnet 4.6 344f0dd48e Add press effect, glow, arrow slide, easing, and backdrop blur to nav buttons
- :active scale(0.95) press feel on all nav buttons
- box-shadow glow ring on hover (accent @ 20% opacity)
- cubic-bezier(.2,0,0,1) iOS-style snap easing on all transitions
- backdrop-filter: blur(10px) frosted glass base on all buttons
- Dashboard → arrow wraps in <span class="arr"> and slides 2px right on hover

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-24 15:51:37 -04:00
Nate EmmertandClaude Sonnet 4.6 3c927b3e27 Use semi-transparent accent fill on nav button hover
color-mix(accent 18%, transparent) keeps text readable and gives a
ghost-button tint instead of a full solid fill.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-24 15:49:03 -04:00
Nate EmmertandClaude Sonnet 4.6 e4a5a9c4bb Style nav links as buttons across all three pages
Replace plain text/opacity links with bordered pill buttons that fill
with accent color on hover — consistent across main app, conditions,
and dashboard headers.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-24 15:47:01 -04:00
Nate EmmertandClaude Sonnet 4.6 f67e38857e Improve navigation between main app, conditions, and dashboard
- Main app: split tagline into attribution + Station/Dashboard nav pills (always visible, styled with border/hover)
- Conditions page: add Dashboard → link and ← App back-link in header
- Dashboard: add Conditions link, rename App → ← Weather in header nav

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-24 15:43:26 -04:00
Nate EmmertandClaude Sonnet 4.6 e851fd1ca0 Add station alerts, dashboard analytics, and settings improvements
Alerts (server):
- Station temp high/low threshold alerts via push + ntfy
- Freeze warning at ≤34°F (station reading)
- Station wind gust threshold alert from real readings
- Station offline alert when no data for >20 min (auto-clears on reconnect)

Dashboard:
- Trend arrows (▲/▼/–) on temp, humidity, dew, wind, pressure, UV, solar tiles
  comparing current vs 1h ago via new /api/station/trend endpoint
- Offline banner when station last reported >15 min ago
- Monthly summary table (avg temp, high temp, max gust, total rain, readings)
- Temperature calendar heatmap — GitHub-style year grid, blue→orange scale
- Alert threshold settings UI: temp high/low, wind gust, rain rate
  saved to all push subscriptions via new /api/subscriptions/thresholds
- Station name setting — persisted in auth file, served on conditions page
- Change password form in settings (no recovery flow needed)

Server:
- GET/POST /api/dashboard/station-name
- POST /api/dashboard/change-password
- GET /api/station/monthly-summary
- GET /api/station/trend
- GET /api/subscriptions, POST /api/subscriptions/thresholds
- /api/conditions/public includes stationName field

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 15:14:35 -04:00
Nate EmmertandClaude Sonnet 4.6 e10bfaa57f Add explicit back-to-app link on conditions page header
Replaces implicit station-name link with a visible '← App' nav link
in the accent color, keeping station name as non-interactive label.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 14:57:36 -04:00
Nate EmmertandClaude Sonnet 4.6 489f48e1ba Link station name back to main app on conditions page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 14:53:27 -04:00
Nate EmmertandClaude Sonnet 4.6 a4b5f08cd2 Set station name to Genesis 8:22 on public conditions page
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 14:43:58 -04:00
Nate EmmertandClaude Sonnet 4.6 39d908b0fa Redesign public conditions page with radar-sweep hero and instrument layout
Full-bleed hero with animated radar sweep ring, dot-grid background, and a
giant temperature number that shifts color by value (ice blue → amber → red).
Canvas compass with N/S/E/W ticks and wind arrow in the Wind section.
Atmosphere, Wind, and Precipitation+Solar sections with Barlow Condensed data
tiles. Full light/dark theme support.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 14:41:55 -04:00
Nate EmmertandClaude Sonnet 4.6 7665146b44 Add dashboard analytics, public conditions page, and station data features
- Dashboard: account-protected station data recorder with PBKDF2 auth and
  HMAC-signed sessions; Chart.js time-series charts with 1h–3y range selectors;
  wind rose canvas; auto-refresh every 2 min; 1-min polling cron
- Analytics endpoints: all-time records, rain totals (7d/30d/YTD), heating/cooling
  degree days, CSV export, year-over-year overlay, hourly anomaly detection
- Dashboard UI: pressure trend arrow, rain tile row, HDD/CDD tiles, anomaly tile,
  YoY toggle, collapsible records panel, CSV export, backfill progress bar
- Public conditions page at /conditions (no auth) with auto-refresh every 2 min
- Rain rate push alert via web-push and ntfy when threshold exceeded
- Station data stored as per-day JSONL files; backfill imports up to 1yr from Ambient

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-19 14:26:51 -04:00