Commissioner Login
This password is checked server-side on every write (Yahoo sync, pick entry, draft order) — it's real access control now, not just a UI gate.
Commissioner Settings
Everything set up before draft day: Yahoo, the date, the draft order, keepers and trades, board colors. Entering picks while the draft runs happens on Draft Day.
1. Yahoo Connection
If your league drafts inside Yahoo, connect it once and picks sync automatically — no manual
transcription, no typos. Requires YAHOO_CLIENT_ID, YAHOO_CLIENT_SECRET,
YAHOO_REDIRECT_URI, and YAHOO_LEAGUE_KEY set in Vercel (see README.md).
Draft-day syncing — including the every-20-seconds live sync — lives on the
Draft Day page, with the board it fills.
2. Draft Date
Shown on the public draft board, and counted down to on the homepage. Time is optional — leave it blank if you've only locked in the day.
3. Draft Mode
Mock and Testing exist so the board can be wiped and re-run while you rehearse. Live is the real draft: once the draft date above is in the past, resetting the board is locked out — on the server as well as here, so a tab left open from yesterday can't wipe a draft in progress.
4. Draft Order Setup
Draft order is drawn from a hat each year. Yahoo sync backfills this automatically from round 1 — or set it by hand below before the draft starts. Drag a row by its handle to reorder; a team’s traded picks and everything already on the board move to its new slot with it. Changing who sits in a slot without dragging leaves that slot’s trades where they are. Reordering is refused once a Live draft’s start time has passed.
5. Player Database
Powers the player autocompletes — the keeper form below, and pick entry on Draft Day. Pulls the NFL player list from balldontlie's API into Supabase — run it once before draft day, and again if rosters change (trades, waivers). Takes a few minutes since the free API tier is rate-limited.
6. Keepers & Traded Picks
Set these before draft day. A keeper is recorded as that team's pick in the round the rules assign it (prior-season round, after any Bump Up), so it fills its cell on the board and the draft skips over it. A traded pick keeps its place in the snake order — only the team making it changes — matching the rule that the acquiring team gets an extra pick in that round and the original team loses theirs.
Add a Keeper
Traded Picks
Pick trades are a swap: each side gives up a pick, and the two must be from different rounds. Example — Quattro Formaggio trades its 10th rounder to Bad News Hilts for their 3rd rounder. The Firesale limit is enforced here: per round band (rounds 1–3, 4–7, and 8+), each team may trade away one pick and trade for one pick per season. Tick Override league rules to push a trade through anyway — the commissioner's call sticks, and the trade is flagged as an override in the list below.
7. Board Colors
Every recorded pick is tinted by the drafted player's position, and the key sits above the board. Change a color here and the swatches update as you drag — nothing is stored until you hit Save. Saving applies it for everyone watching the live board, instantly. Related positions travel together: FB is colored as a Running Back, and PK and D/ST as Kicker and Defense.
