feat(game-content): manager pages for seasons, shop, achievements, challenges, puzzles
The game reads all five tables and the manager had no screen for any of
them; the only battle-pass season ended on 2026-07-01, so the pass has been
dead since. One small config-driven CRUD covers them, every field a real
column, with Arabic labels and a note on what the game actually uses:
- seasons: create the next one (Cairo times), and "activate", which makes
it the single is_active row the game's battlepass.php reads (an ended
season cannot be activated, the active one cannot be deleted);
- shop items (cosmetics) with their enum types and rarities;
- achievements, with the condition written as {type, count} and the
condition types the game never counts marked as such;
- daily challenge templates, marking the types the game does not count;
- puzzles, validating the FEN and the UCI solution.
Deleting something players own or have earned is refused by the foreign
key and says so instead of failing silently.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
Showing
This diff is collapsed.
Please register or sign in to comment