Commit Graph
116 Commits
Author SHA1 Message Date
mandalore 12f001d6f7 feat: add name blacklist to hide players from leaderboard
Adds a hidden player per request.
2026-08-02 17:53:30 -05:00
GitLab CI 755cffc405 data: refresh stat-check ELO rankings 2026-07-22 02:03:19 +00:00
GitLab CI 3e68394798 data: refresh stat-check ELO rankings 2026-07-15 02:03:17 +00:00
GitLab CI 9c64158578 data: refresh stat-check ELO rankings 2026-07-08 02:03:17 +00:00
mandaloreandClaude Sonnet 4.6 7fba5c7d44 fix: move lmcRankCell out of inner IIFE so it is in scope where used
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 09:40:58 -05:00
mandaloreandClaude Sonnet 4.6 f965334e57 feat: move LMC Rank column to sit next to ITC Rank
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-01 09:39:38 -05:00
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
GitLab CI 27b336f035 data: refresh stat-check ELO rankings 2026-07-01 02:03:19 +00:00
GitLab CI 24cf4a5872 data: refresh stat-check ELO rankings 2026-06-29 05:19:52 +00:00
mandaloreandClaude Sonnet 4.6 5f35c39caf ci: allow refresh-elo commit to trigger build and deploy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 00:18:38 -05:00
GitLab CI f5fb3f78de data: refresh stat-check ELO rankings [skip ci] 2026-06-29 05:18:08 +00:00
mandaloreandClaude Sonnet 4.6 ae4a97e6b0 ci: exclude build and deploy from scheduled pipelines
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 00:16:59 -05:00
GitLab CI f642f8809c data: refresh stat-check ELO rankings [skip ci] 2026-06-29 05:14:35 +00: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 ea0c2f3a91 chore: remove lock file and ignore LibreOffice temp files
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-29 00:00:21 -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 8687710d54 feat: add career W-L-T/Win% subtitles and mobile stat folding
Ports the career stats feature from the 40K rankings site: fetches
all-time W-L-T per player from BCP and shows it as a subtitle under
each season stat. Also folds W-L-T, ITC Rank, and Win% into the
Player and ITC Points cells on mobile so all stats are visible without
horizontal scrolling. Skeleton loader updated to match.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:48:50 -05:00
mandaloreandClaude Sonnet 4.6 7fcd721eee nav: add 40K Rankings link to header navigation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-27 23:45:35 -05:00
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 fa27589945 replace W-L-T with win percentage, add Win % column, and add sortable headers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 20:24:24 -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 e412ec2072 add package-lock.json
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 18:46:57 -05:00
mandaloreandClaude Sonnet 4.6 e39cb70c04 scaffold AOS rankings site (Vite + Tailwind v4 + DaisyUI v5)
Clone of the 40K rankings project adapted for Age of Sigmar: leagueId
RtgcexBzqjCM, AOS-branded headings, separate cache key, and CI/CD
deploying to /var/www/domains/gateway-gamers.net/aos-rankings/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 18:31:33 -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
mandalore 6f62a9a5ba Fix Dates 2026-06-01 09:46:18 -05:00
mandalore e6c8ba2850 Update the season dates and add that signups are live 2026-06-01 07:52:43 -05:00
mandalore 94b44bb9fc remove paypal from site and add verbiage for paying game nite 2026-05-29 19:29:28 -05:00
mandalore 83ded0a3e7 add a new section on homepage detailing current season 2026-05-29 14:37:19 -05:00
mandalore f758d6ac2e update wording on site 2026-05-29 14:31:26 -05:00
mandalore 96990c9e0d revert the small change on the sign-ups page 2026-05-29 00:47:27 -05:00
mandalore b9de76cae5 small change to signups page for testing 2026-05-29 00:46:29 -05:00
mandaloreandClaude Sonnet 4.6 387f1685a4 Fix CI pipeline for shell executor — local rsync deploy
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-29 00:40:15 -05:00