Weekly Fixes & Polish (Jul 15-21)
12 bug fixes and style improvements across design system & theming, rosters, navigation & routing, schefter report, and more.
The Full Story
This week's 12 bug fixes and polish improvements touched the following areas of the site:
Design System & Theming β Light mode finally got the memo about team colors. The little circular player headshots have been wearing their NFL team's colors in dark mode for a while β gradient backdrop, soft spotlight behind the face β while light mode made do with a plain gray circle and a thin colored ring, like everyone showed up to the team photo in street clothes. No more: every player chip now wears the full team-color treatment in both themes, on every surface β rosters, player pools, free agents, live scoring, the contract sheet. The ring around each chip is cut from the same cloth, mixed darker in light mode so it frames the chip against a white page, lighter in dark mode so it pops off a black one. Bo Nix glows Broncos orange at noon and at midnight. The dark-mode player-headshot fix from earlier today found four stragglers. The live-scoring scoreboard was mixing its own paint β player chips built from raw team colors with none of the brightness safeguards, so a Titan or Steeler could still vanish into a midnight circle mid-game. The Projected Free Agents table and the AFL player pool had quietly skipped team colors entirely, showing plain gray chips in dark mode while their sibling pages got the full treatment. And the Rosters page's players-by-team and players-by-college cards were hand-sewing their own player rows without the backdrop. All four now use the same spotlight-behind-the-head backdrop as everywhere else, plus a half-opacity white ring that lifts every chip off the dark page. A new build-time guard makes it structural: any future page that hand-rolls its own team-color-behind-a-player math β or renders a player chip without the backdrop β fails the build and gets pointed at the shared helper. One paintbrush, whole site. Dark mode stopped hiding half the league's rookies. The little circular player headshots wear their NFL team's colors behind them β great in theory, except a third of the league (Titans, Steelers, Bears, Seahawks, Texans...) wears colors that are basically midnight, so a guy like Cam Ward in a navy jersey on a navy chip on a dark page was just a rumor of a face. The chips now reach for each team's lighter brand color when the main one is too dark β Titans light blue, Steelers gold, Bears orange β and every chip puts a soft spotlight right where the player's head sits, brightest behind the face and deepening toward the rim. Every team's backdrop is held to a minimum brightness, enforced by a build-time guard so no future team-color tweak can sink a headshot back into the void. Light mode untouched; it was never the problem. Dark mode got a full sweep of the closet. The Admin Hub bug from earlier this week β styling against color tokens that don't actually exist, so everything silently rendered its light-mode fallback β turned out to have cousins in some forty files: white draft-queue rows on a dark draft room, lineup accordions and matchup pickers stuck with light text, homepage urgency chips glowing like flashlights, and a templates page whose headings had no color at all. Every one now runs through the real theme tokens, and a new build-time guard fails any future code that references a token that doesn't exist β so this whole class of bug is done recurring.
Rosters β The roster loading screen learned to breathe. Its rotating one-liners were flipping every 2.2 seconds β just enough time to read half a quip before the next one shoved it offstage. Each line now hangs around for a full five seconds, and the loader itself waits a beat longer before appearing so quick page loads skip the theatrics entirely. Trade block tags on the AFL Rosters page no longer vanish after a reload β flagging a player now sticks visibly, and the tag only shows on the team that actually flagged him (not his conference twin).
Navigation & Routing β The side menu's league-switch chevron now actually switches leagues. On theleague.us and afl-fantasy.com it used to strip the other league's address right out of its own link β so 'Switch to AFL' just reloaded the page you were already on. It now carries you straight to the same page on the other league's site, and the chevron shows for everyone instead of hiding unless you were logged in as a dual-league owner.
Schefter Report β The 'whisper back' links in Schefter's GroupMe posts work now. Every clean link on the league domains β afl-fantasy.com/schefter/tip, theleague.us/rosters, all of them β was quietly being stamped page-not-found behind the scenes; most pages shrugged it off and displayed anyway, but the tip page's sign-in handoff couldn't, so tapping a tip link from GroupMe dead-ended on a 404. The routing now reports what actually happened, the sign-in bounce goes through, and the link even remembers which team's desk you were headed to after you log in. Bonus: a bare /schefter now drops you at the Schefter Report feed instead of a dead end. Claude Schefter no longer ghosts you after one bad draft. When his quality gate spiked a post for being too vague, the scanner still charged it against the day's posting budget β so one scrapped rumor at 7am could silence the rumor mill until midnight, tips waiting patiently the whole time. Budgets now only count posts that actually ship. And when the feed's been quiet for a week (or a subject hasn't come up all week), the bar for 'worth posting' drops β a scrappy 3/10 rumor beats radio silence.
Draft β The AFL draft order finally admits when it's done predicting. Once the NIT wrapped, the order was set in stone β but the homepage hero and the draft page kept calling it a 'predictor,' like a weatherman forecasting yesterday. Now the page flips to the official draft order (green badge and all) the moment the playoffs and NIT finish, the offseason hero says 'View Draft Order,' and the projected framing returns automatically when the new season kicks off.
Standings β Standings finally sit still on your phone β the Premier League tables (and every other standings view) used to shove the whole page sideways, so you had to swipe left and right just to read a record. Now the columns that matter β rank, team, and record β fit the screen, the rest tuck away until you've got the width for them, and the desktop layout is untouched.
Playoffs β AFL links that point back to MFL now actually point at the AFL. A pair of long-standing wiring mistakes had AFL pages borrowing TheLeague's MFL server for outbound links: the What's Next event buttons (live scoring, options pages) and the Playoffs page's live-scoring polls and league-options link were all built against TheLeague's www49 host β so an AFL owner clicking through could land on the wrong league entirely. Both now resolve the AFL's own MFL server from the league registry, every time.
Message