Files
gateway-gamers.net/sites/events

events.gateway-gamers.net

A single feed of upcoming Warhammer events from the Best Coast Pairings (BCP) circuits Gateway Gamers follows, soonest first.

What it serves

A single page (index.html) listing every upcoming event across the configured circuits. Each event card shows:

  • event name and venue, plus distance from St. Louis ("Local" if under 30 miles)
  • date range, shown in the event's own timezone
  • badges for:
    • format: Singles or Team Event
    • scope: RTT or GT
    • every followed circuit the event belongs to
    • game system
    • checked-in count against tickets

Each card links to the event on bestcoastpairings.com.

Filter buttons at the top toggle Format, Scope and Circuit. Within a group they combine with OR, and across groups with AND.

Some of the rules behind the badges and filters:

  • Scope is worked out from duration: an event that starts and ends on the same local calendar day is an RTT, anything longer is a GT. BCP has no reliable field for this. Team events get no scope badge.
  • Duplicate events are merged. An event that belongs to several followed circuits appears once, with a badge for each circuit, including circuits listed only in the event's own leagues data.
  • Past events are skipped. Paging stops as soon as it reaches events that have already ended, so a circuit's full history is never downloaded.

Data sources

BCP events?leagueId=… for each configured circuit, at https://newprod-api.bestcoastpairings.com/v1, without authentication. All requests come from the viewer's browser; nothing is stored on the server.

Configuration

Edit CONFIG.circuits at the top of src/main.js. Each entry takes:

  • id: the circuit's leagueId, from its BCP calendar URL (bestcoastpairings.com/circuit/<id>/calendar)
  • name: the label used on the filter button and badges
  • near (optional): { lat, lon, miles } to include only events within that radius. Events without coordinates are left out.

The circuit filter buttons are generated from this list. Currently followed:

  • Away Games 2025/26 ITC Season
  • National Tabletop League (NTL) 8-Player Circuit
  • TEO 2026 Circuit
  • 2026 Lord Marshal Conference
  • 2027 Lord Marshal Conference
  • Warhammer Global Rankings 2026, limited to events within 250 miles of St. Louis

Files

  • index.html, src/main.js, src/style.css: the page
  • nav.html: this site's header nav entries (see the root README)
  • events.gateway-gamers.net.conf: reference nginx config for the live server block. It sets a Content-Security-Policy, so calling a new external API from the page means adding that host to connect-src there too.

Deploy

.gitea/workflows/deploy-events.yml builds the site and rsyncs dist/ to /var/www/domains/gateway-gamers.net/events/ on every push to main that touches sites/events/ or shared/. See the root README for local dev commands and the shared header, footer and images.