Deeman
494f7ff1ee
feat(web): integrate crop stress into Pulse page
- index() route: add get_weather_stress_latest() and get_weather_stress_trend(90d)
to asyncio.gather; pass weather_stress_latest and weather_stress_trend to template
- pulse.html: add 5th metric card (Crop Stress Index, color-coded green/copper/danger)
- pulse.html: add 5th sparkline card (90d avg stress trend) linking to /dashboard/weather
- pulse.html: update spark-grid to auto-fit (minmax 280px) to accommodate 5 cards
- pulse.html: add Weather freshness badge to the freshness bar
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 02:39:29 +01:00
..
2026-02-18 16:11:50 +01:00
2026-02-22 12:54:39 +01:00
2026-02-26 02:39:29 +01:00
2026-02-20 20:10:45 +01:00
2026-02-19 22:35:55 +01:00
2026-02-18 16:11:50 +01:00
2026-02-22 12:54:39 +01:00
2026-02-19 20:37:44 +01:00
2026-02-18 16:11:50 +01:00
2026-02-19 22:22:13 +01:00
2026-02-18 16:11:50 +01:00
2026-02-19 22:35:55 +01:00
2026-02-22 12:54:39 +01:00
2026-02-19 22:22:13 +01:00
2026-02-18 16:11:50 +01:00
2026-02-19 20:37:44 +01:00
2026-02-19 22:22:13 +01:00
2026-02-18 16:11:50 +01:00