Commit Graph

2 Commits

Author SHA1 Message Date
Cal Corum
3e736442c7 Redesign dashboard with roster health, card coverage, and sync refresh
- Add position coverage, IL players, missing card warnings, and detailed
  sync status sections to the dashboard
- Fix team sync to include IL/MiL teams (active_only=false), matching
  Python behavior so get_my_roster() finds WVIL/WVMiL teams
- Re-fetch all dashboard data after successful sync so changes reflect
  immediately without navigating away
- Add sWAR budget bar (90-100% range) with color thresholds from
  Team.salary_cap
- Add team-scoped missing card queries and bulk sync status query
- Mark Phase 2 and Phase 3 project plans as complete

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 11:52:38 -06:00
Cal Corum
3c70ecc71a Implement Phase 2: API client, sync pipeline, and CSV card importers
Port the full data ingestion layer from Python to Rust:
- Typed API client with 10 endpoints, serde response types, and error handling
- Team/player/transaction sync with proper upsert semantics (preserves hand field)
- Batter and pitcher CSV importers with 40+ column mappings each
- Parse helpers for float/int/endurance with 21 unit tests

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-27 22:56:50 -06:00