feat(hosting): the manager runs big tournaments end to end
Stages (Swiss, round robin and knockout chained in any order, with cuts
staff confirm), the arbiter console (results, forfeits, pause and resume,
disputes, fair-play flags, forbidden pairs), registration forms and the
check-in desk, prizes and categories, teams and inter-club events built
from clubs, and exports (.xlsx, CSV, posters).
Presentation: sponsors as a shared library, per-event media, banners, ad
slots, sign-up links and codes, and a venue screen; the public live pages
show sponsors and a call to sign up. Clubs get a dashboard and a bulk
import of 20 clubs with their codes.
Club chat stays in step with membership: adding, removing or approving a
member here asks the player app to re-seat them (core/CommsSync.php), and a
club can make its chat announcements-only. Uploads are capped at 6 MB.
The game's look stays locked; nothing here restyles the manager.
Verified with tools/verify-{arbiter,teams,presentation,registrations,
stages}.mjs against a rehearsal of the player app.
Co-Authored-By:
Claude Opus 5.5 <noreply@anthropic.com>
Showing
core/CommsSync.php
0 → 100644
core/Xlsx.php
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
tools/verify-arbiter.mjs
0 → 100644
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
tools/verify-stages.mjs
0 → 100644
This diff is collapsed.
tools/verify-teams.mjs
0 → 100644
This diff is collapsed.
Please register or sign in to comment