# 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//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.