0d971745a6
- 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
47 lines
2.7 KiB
Markdown
47 lines
2.7 KiB
Markdown
# 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
|
||
- Initial release
|
||
- Session-based auth with admin and user roles (mustChange password flow)
|
||
- Admin panel: create/delete users, view temp passwords
|
||
- Practice mode: randomized stratagem training with 30s timer, streak scoring
|
||
- Category filters for practice mode
|
||
- 1v1 mode via WebSocket: challenge system, lobby, real-time match (first to 5 rounds)
|
||
- Dashboard: personal stats, daily challenge, online users, recent sessions
|
||
- Leaderboard: top-20 by total score, sessions, match win rate
|
||
- SQLite database (WAL mode) for users, practice sessions, matches
|
||
- Helldivers 2 military UI theme (dark, yellow accents, grid overlay, scanlines)
|
||
- Mobile D-pad support
|
||
- Arrow key input with correct/wrong animations
|