• Mahmoud Aglan's avatar
    feat(game-content): manager pages for seasons, shop, achievements, challenges, puzzles · a945b003
    Mahmoud Aglan authored
    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: 's avatarClaude Opus 5.5 <noreply@anthropic.com>
    a945b003
routes.php 32.6 KB