Commit Graph
14 Commits
Author SHA1 Message Date
mandaloreandClaude Sonnet 4.6 d9741062dc feat: add LMC Rank column alongside LMC Points
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 09:38:04 -05:00
mandaloreandClaude Sonnet 4.6 f33022fe92 feat: add LMC Points column fetched from BCP league cY0LeCAPfyiG
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 09:34:34 -05:00
mandaloreandClaude Sonnet 4.6 c4e355dd63 feat: add ELO refresh job to GitLab CI and polish mobile display
- Add refresh-elo job to .gitlab-ci.yml triggered by schedules; runs
  the Python scraper and commits updated elo-data.json back to main
- Hide Stat-Check ELO column header on mobile (sm:hidden), fold ELO
  score as a subtitle under ITC Points on mobile instead

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 00:07:41 -05:00
mandaloreandClaude Sonnet 4.6 ac223a6909 feat: add Stat-Check ELO column with daily auto-refresh
- Scraper (statcheck-elo-scraper/refresh_elo.py) downloads the stat-check
  ELO workbook from OneDrive and builds public/elo-data.json
- GitHub Actions workflow (.github/workflows/refresh-elo.yml) runs daily
  at 06:00 UTC and commits updated ELO data
- Frontend fetches elo-data.json and matches players by name, using BCP
  career event history to disambiguate same-name candidates
- ELO score shown in new sortable Stat-Check ELO column, visible on all
  screen sizes; unmatched players show —

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 00:00:02 -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 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 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