Tab Revolution, Stadium Yard View & Monthly Season Ranking
The biggest UI jump in a while: long scroll wastelands across nearly every gameplay page collapse into tidy tab views, the franchise page gets its own top-down stadium yard visualisation and an 8-seat staff conference room, sponsors / TV / equipment / insurance move into a hero box with custom SVG logos, and a brand-new monthly Season Ranking arrives as a competitive leaderboard per difficulty.
🏟️ Yard & Staff as a stadium-style view
- New top-down yard visualisation on
franchise.phpwith a 12×8 grid: stadium, training complex, gym, sports academy, medical/therapy center, merch store, office building and datacenter — each building rendered as generative SVG with per-level features (stands, floodlights, corner flags, …), level badge top-right, cost overlay on click - Click opens the unified upgrade overlay showing current vs. next-level benefit, cost and balance preview — works for all 9 facility types via shared modal logic
- Above the yard, the new staff conference room layout: 8 staff members (HC/OC/DC/SC, Scout, Marketing, Physio, Doctor) as portraits around a meeting table — generative SVG heads with hair, team-coloured suits and a VAKANT marker at L0
- CPU teams see the same yard + conference room read-only (no upgrade overlays)
- New lang strings + benefit copy for L6-L10 (DE/EN), DB column fallback when a lang key is missing
🤝 Partners & Contracts: hero box instead of 4 DataTables
- New
fpc-herobox replaces the old 4 sponsor / TV / equipment / insurance tables: sponsors full-width (row 1) with all 7 bonuses visible directly (per match · per season · 8 wins · playoffs · conference final · SB · SB win), plus maximum payout and ambition badge (Contending / Retooling / Rebuilding) - TV partners / equipment / insurance in row 2 as a 3-column panel grid — compact cards with hover tooltip, click to sign
- New generative SVG logos per brand (ChipsFresh = chip bag, JellyFish = jellyfish, MyTube = red play button, Lovely Cat = cat face, …) — no more PNG mush
- Confirm overlay shows balance now → −cost → balance after with green/red accents. Enter = Sign Contract, ESC or × top-right = cancel
- Sponsor classification by variance ratio (`summax/summin`) auto-derives the right ambition tier, with manual overrides for JellyFish and Shirts4Friends
🎟️ Ticket-price slider + fanbase in the hero
- Ticket price now set via a slider + number input (50–500$, 1$ steps) instead of 6 separate +/− anchors; a yellow tolerance band visualises the marketing manager recommendation (band shrinks as marketing level rises)
- Standalone fanbase block dropped — fanbase number + ℹ️ history modal now lives directly in the hero stat tile
📑 Tab views everywhere in the same style
- Unified tab system (
color2bar background,color1active tab, contrast-safe text) rolled out across 11 pages:team.php(5 tabs),franchise.php(5),trade.php(4 with team logos),schedule.php(6 from preseason → super bowl),players_watchlist.php(3),achievements.php(11),halloffame.php(3),draft.php(3 incl. post-draft summary),player_stats_leaders.php(4),conference.php/division.php/table.php(2 for AFC/NFC),seasonranking.php(4) - Active tab persists in
localStorageper page; hash-based activation still works (e.g. an „extend contract" redirect with#playerNauto-opens the offense tab and scrolls to the row) - DataTables column widths recompute via
columns.adjust()on tab switch — no more 0-px columns after switching - On mobile the tab bar wraps to 2 rows instead of horizontal scrolling
🏟️ Conference + Division as a hero card grid
- On
conference.php+division.phpthe old 1-row list gets replaced by a 4-card grid per division — every card uses the same „th-card" look as the team hero onteam.php(diagonal gradient color1 → dark → color2, animated sheen, semi-transparent team logo as background) - Per card: logo, name, colour swatches, strategy badge (Contending/Retooling/Rebuilding), saison record, OVR/OFF/DEF/SPE rating circles, and average age (team + 3 position groups)
- Your team gets a white outline ring so it pops in the grid
- Sorted by saison record (wins desc, losses asc), tie-break alphabetical
🎨 Icons + title-case sweep across the whole app
- Matching emoji icons before every
<h1>and section<h2>: 💰 Finances · 🎟️ Tickets & Merch · 🤝 Partners · 👔 Staff · 🏟️ Yard · 🟢 Offense · 🔴 Defense · 🟡 Special Teams · 🩹 Practice Squad · 📊 Stats · 🏆 Top League Players · 📈 Power Ranking · 🏛️ Hall of Fame · 🔍 Player Search · 🆓 Free Agents · 🎯 Draft · 📋 Contracts · 🪙 Coins · 📰 News · 📖 Glossary — long list - All block-caps lang strings (DE + EN) normalised to title case: „PLAYER WATCHLIST" → „Player Watchlist", „SEARCH PLAYERS" → „Search Players", „TOP LEAGUE PLAYERS" → „Top League Players", „SCHEDULE" → „Schedule" — no more shouting headers
- Close × consistently top-right in every confirm overlay (yard, staff, partners)
🏆 New monthly Season Ranking
- New page
seasonranking.phpwith 4 tabs: Easy / Medium / Hard filtered to franchises started in the current calendar month — the new season auto-rolls on the 1st at 00:00; plus All-Time for the eternal leaderboard across all difficulties - Full DataTable with paging, search, sortable columns — same score formula and columns as the index.php Top-10 box (SB · CF · Playoffs · Achievements · Peak OVR · Saisons · W-L-D · Trades · Drafted · Balance)
- Easy/Medium/Hard ship with „Data: Fictive" preselected; All-Time has both filters (difficulty + data) like the landing page
- Reachable via the gold button under „🏆 Top 10 Franchises (All-Time)" on index.php or via the sidebar inside the game
- Works with and without an active game id — public header outside, ingame header as soon as a game is active
📝 Developer blog on the landing page
- New 📝 button next to the Discord banner (same height) opens the developer blog
- Right below: an auto-updating teaser block of the latest 3 articles — tag, date, title, 50-word excerpt + „Read more »" link with deep-link anchor to the post
- Single source of truth:
_blog_posts.phpdefines the order — prepend new IDs and the teaser +blog.phpauto-update
Day one feels like a fresh coat of paint on every screen you visit regularly. Tab bars trim the scroll, hero cards turn raw tables into visual stories, and the new monthly Season Ranking adds a fresh competitive hook for anyone who likes measuring their score against the community.