feat: major redesign — ELO system, 4 practice modes, history view, mobile nav
- 4 practice modes: Timed (SVG ring), Endless (3 lives), Category Drill, Speed Run
- Practice settings modal (timer duration, difficulty) with localStorage persistence
- History view: paginated table, SVG score chart, best-times-per-stratagem
- ELO rating system with server-side K=32 calculation and rank tiers PRIVATE–GENERAL
- Post-match result modal with ELO delta and round history
- Challenge modal showing challenger name + ELO (replaces toast)
- Dashboard hero card with ELO rank icon and daily sequence preview
- Leaderboard tabs: Practice Score / ELO / Speed Run
- Mobile hamburger nav drawer with slide-in animation
- DB migration: elo column, mode column, stratagem_stats table
- WS lobby-update now sends {name, elo, rank} objects
- View fade transitions, danger vignette at ≤5s, streak fire glow, combo badge
- Esc/Enter keyboard shortcuts for modals and practice
This commit is contained in:
@@ -1,5 +1,34 @@
|
||||
# Changelog – helldivers-trainer
|
||||
|
||||
## [2.0.0] – 2026-03-30
|
||||
|
||||
### Added
|
||||
- **4 Practice modes**: Timed (configurable 15/30/45s, SVG ring timer), Endless (3 lives), Category Drill (progress bar), Speed Run (all stratagems, total time)
|
||||
- **Settings modal**: timer duration and difficulty (Easy/Normal/Hard) persisted in localStorage
|
||||
- **History view**: paginated session table with mode/category filters, SVG polyline score chart, best-time-per-stratagem table
|
||||
- **ELO rating system**: server-side ELO (K=32) calculated after every match; rank tiers PRIVATE → GENERAL
|
||||
- **Post-match result modal**: ELO delta display (`before → after +N`), round-by-round history
|
||||
- **Challenge modal**: incoming challenge shows challenger name and ELO; replaces toast notification
|
||||
- **Dashboard hero card**: ELO rank badge, rank icon, daily sequence preview arrows, mode column in recent sessions
|
||||
- **Leaderboard tabs**: Practice Score / ELO Rating / Speed Run with correct column headers per tab
|
||||
- **Mobile hamburger nav**: slide-in drawer with overlay backdrop, Esc key closes modals
|
||||
- **DB migration**: `elo` column on users, `mode` column on practice_sessions, `stratagem_stats` table
|
||||
- **Lobby redesign**: ELO + rank shown per player, 2-column layout (Online + Incoming Challenges)
|
||||
- View fade transitions on every view switch
|
||||
- Danger vignette flash at ≤5s timer remaining
|
||||
- Streak fire glow effect (streak ≥ 5), combo multiplier badge (×N, streak ≥ 2)
|
||||
- Keyboard shortcuts: `Esc` stops practice / closes modals, `Enter` starts practice
|
||||
- `aria-label` on all D-pad buttons, modals with `role="dialog"` and `aria-modal="true"`
|
||||
|
||||
### Changed
|
||||
- Full CSS redesign (~700 → ~1200 lines): glassmorphism cards, new design tokens, SVG timer ring, skeleton shimmer, animated modals
|
||||
- Dashboard online list now shows ELO; lobby shows ELO + rank per player
|
||||
- WS `lobby-update` now sends `[{name, elo, rank}]` objects instead of plain usernames
|
||||
- WS `challenge-received` now includes challenger ELO
|
||||
- Practice leaderboard query joined with `users.elo` for rank badge display
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] – 2026-03-30
|
||||
|
||||
### Added
|
||||
|
||||
Reference in New Issue
Block a user