Commit Graph
20 Commits
Author SHA1 Message Date
mandaloreandClaude Sonnet 4.6 7dd9ddfefe nav: add AOS Rankings link to header navigation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:41:46 -05:00
mandaloreandClaude Sonnet 4.6 1f7757dec6 mobile: fold hidden stats into visible columns on small screens
W-L-T and ITC Rank appear as sub-text under the player name; Win% appears
under ITC Points. Desktop layout is unchanged. Skeleton loader also gets
matching placeholder lines on mobile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:35:57 -05:00
mandaloreandClaude Sonnet 4.6 e64513e51a revert: remove team filter from build(), show all member stats regardless of event team
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 22:21:43 -05:00
mandaloreandClaude Sonnet 4.6 f9d098beb3 filter: only include placings where team is set to Gateway Gamers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 22:13:35 -05:00
mandaloreandClaude Sonnet 4.6 85493614e8 refactor: show career W-L-T and Win% as subtitles in existing columns
Removes the standalone Career W% column. Career totals now appear
as a small secondary line inside the W-L-T and Win% cells, loading
asynchronously with a … placeholder while fetching.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:31:13 -05:00
mandaloreandClaude Sonnet 4.6 6f5b473408 add Career W% column from BCP all-events history
For each roster player, fire a parallel fetch to
/placings?placingsType=player&userId={id} and aggregate
wins/losses/ties across all events that have those fields.
Renders asynchronously - shows … while loading, — if no
data found. Column is sortable.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:29:23 -05:00
mandaloreandClaude Sonnet 4.6 d39d7fc627 revert: remove ELO rank feature (data source inaccessible)
stat-check.com's ELO data is behind Microsoft auth with no public
API or download endpoint available. Removing the sync script,
placeholder JSON, CI job, table column, and all related JS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:23:28 -05:00
mandaloreandClaude Sonnet 4.6 b77c3f950a debug: print response content-type and body on non-Excel download
Helps identify what the server is actually returning when the
download URL doesn't serve the xlsx file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:09:46 -05:00
mandalore cc5eab9b0a update download URL 2026-06-26 21:06:27 -05:00
mandaloreandClaude Sonnet 4.6 780ca22be5 fix: install pip deps in CI with --break-system-packages
Python 3.12 (PEP 668) blocks bare pip installs into the system.
Move the install step into the CI script and drop the self-install
fallback from the Python script.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:01:51 -05:00
mandaloreandClaude Sonnet 4.6 90a527d8b2 fix: quote YAML script lines containing double quotes
GitLab's YAML parser treats bare " mid-string as a new scalar.
Single-quote the affected lines and use a | block for the if/else.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 21:00:09 -05:00
mandaloreandClaude Sonnet 4.6 3e6a152206 add weekly ELO rank sync from stat-check.com
- scripts/sync-elo.py: downloads Excel sheet, auto-detects columns,
  writes public/elo-data.json keyed by lowercase player name
- .gitlab-ci.yml: sync-elo stage (schedules only) commits the JSON
  then a normal push pipeline handles build + deploy; build/deploy
  skip on scheduled runs to avoid double deployment
- index.html + main.js: ELO Rank column with sort support; loads
  elo-data.json asynchronously and re-renders when ready; fails
  silently if data is missing

Requires one-time setup:
  1. GitLab project token (write_repository) stored as GITLAB_PUSH_TOKEN
  2. Pipeline schedule: cron 0 2 * * 3 (Wednesday 02:00 UTC) on main

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:47:30 -05:00
mandaloreandClaude Sonnet 4.6 3a57967214 make W-L-T column sortable (by wins, then fewest losses)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:16:03 -05:00
mandaloreandClaude Sonnet 4.6 9c07036a85 add W-L-T column back alongside win percentage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:15:35 -05:00
mandaloreandClaude Sonnet 4.6 4ee1ba1a5b replace W-L-T with win percentage and add sortable column headers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:13:08 -05:00
mandaloreandClaude Sonnet 4.6 0cede20a00 rename page title and nav to 40K Rankings
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 19:03:32 -05:00
mandaloreandClaude Sonnet 4.6 f733255e07 rename to 40k-rankings.gateway-gamers.net
Update deploy path, environment URL, nginx conf, and package name
to reflect the new subdomain.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 19:00:07 -05:00
mandaloreandClaude Sonnet 4.6 14e117a823 add kingmaker-style header, full pagination, and CI/CD deployment
- Hero carousel header with logo and photos matching kingmaker site
- Renamed "League Rank" to "ITC Rank"
- Full cursor-paginated standings scan with circular-cursor detection
  to handle BCP API's pagination bug at the end of results; incremental
  rendering shows results as each page arrives
- credentials:omit on all BCP fetches to prevent session cookie 500s
- GitLab CI pipeline: npm ci + vite build, rsync dist/ to
  /var/www/domains/gateway-gamers.net/rankings/ on push to main
- nginx config for rankings.gateway-gamers.net with CSP allowing
  connect-src to newprod-api.bestcoastpairings.com

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 17:34:48 -05:00
mandaloreandClaude Sonnet 4.6 2304764d5d scaffold Vite + Tailwind v4 + DaisyUI v5 project structure
Converts the standalone leaderboard HTML into a proper build project
matching the kingmaker.gateway-gamers.net pattern: shared header/footer
partials in public/, leaderboard logic in src/main.js, and vite build
outputting to dist/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 12:28:36 -05:00
mandalore 1841f242ed add README 2026-06-26 12:15:46 -05:00