Commit Graph

  • 1ebe4613ce docs: rewrite README with accurate data pipeline documentation main valknar 2026-06-16 07:50:12 +02:00
  • c721062560 fix: anchor scroll — double-rAF timing + scroll-mt-20 on match cards valknar 2026-06-16 01:52:20 +02:00
  • 1fc9c59367 fix: sort recentMatches by UTC kickoff time, not ID valknar 2026-06-16 01:44:38 +02:00
  • 7fb54683e4 fix: mark sitemap as dynamic to avoid DB query at build time valknar 2026-06-15 20:25:46 +02:00
  • a494c80a76 feat: SEO enhancements — server metadata, sitemap, robots, dynamic base URL valknar 2026-06-15 20:18:36 +02:00
  • 2bd32daae1 fix: show 0-0 for live matches with no score data; exclude live from recent valknar 2026-06-15 20:00:07 +02:00
  • 71e7e47aca feat: show all groups including unplayed, add upcoming matches per group valknar 2026-06-15 19:47:52 +02:00
  • 76425e7f76 fix: sort upcoming fixtures by UTC kickoff time, not venue local HH:MM valknar 2026-06-15 19:37:41 +02:00
  • 015f6c2ef3 fix: derive upcoming fixture day label from computed local kickoff time valknar 2026-06-15 19:34:20 +02:00
  • 47eb5092e9 fix: show proper date and local kickoff time in Upcoming Fixtures valknar 2026-06-15 19:28:20 +02:00
  • 7e4bf2d07c fix: retry failed group subpages, add rate-limit detection in scraper valknar 2026-06-15 18:44:54 +02:00
  • d37ebe201e refactor: consolidate data/ into single root directory, fix historical player names valknar 2026-06-15 18:27:35 +02:00
  • 9ce2a4e27c fix: use full player names from title attr, preserve UTC offset in match times valknar 2026-06-15 18:14:53 +02:00
  • b141356247 refactor: replace hardcoded hex colors with theme tokens, move data/ to root valknar 2026-06-15 18:08:23 +02:00
  • 187ee2e312 fix: parse Wikipedia 12h time format and sort upcoming matches with NULLS LAST valknar 2026-06-15 17:50:30 +02:00
  • 42063cdfda fix: extend group heading regex from [a-h] to [a-z] for 2026 Groups I-L valknar 2026-06-15 17:39:38 +02:00
  • 61c3c3f6cf fix: add --force flag to sync to clear 2026 data and orphaned teams valknar 2026-06-15 17:37:15 +02:00
  • b832b62f5e fix: normalize Bosnia & Herzegovina and USA team name variants valknar 2026-06-15 17:33:05 +02:00
  • f885e4312c refactor: extract lib/wiki-scraper.ts, make scraper composable, sync from Wikipedia valknar 2026-06-15 17:23:17 +02:00
  • d1171267a8 feat: scrape tournament meta from Wikipedia, drop world_cup.csv valknar 2026-06-15 17:09:45 +02:00
  • ff4989f39f refactor: rename data/openfootball → data/wikipedia, drop data/kaggle valknar 2026-06-15 16:10:21 +02:00
  • 5dcd22ad22 feat: replace Kaggle CSV with Wikipedia scraper for historical match data valknar 2026-06-15 11:39:53 +02:00
  • 83b1ad3e35 fix: atomic goal updates in sync — transaction + bulk INSERT valknar 2026-06-15 09:56:43 +02:00
  • 2c981dc6c0 fix: add non-null assertion for DATABASE_URL in sync.ts closure valknar 2026-06-15 08:56:11 +02:00
  • 9f8f56ac4e fix: remove redundant DDL from sync.ts and validate DATABASE_URL valknar 2026-06-15 08:53:20 +02:00
  • de03dfeadb fix: suppress Apollo cache warnings for Match.team1 / Match.team2 valknar 2026-06-14 22:18:47 +02:00
  • 11a89204af feat: add Umami analytics via UMAMI_ID / UMAMI_SRC env vars valknar 2026-06-14 22:04:41 +02:00
  • 767236739b feat: add football net background pattern and glass card styling valknar 2026-06-14 22:01:40 +02:00
  • 479c3d93e4 fix: constrain nav and footer content to max-w-[1200px] like main content valknar 2026-06-14 21:46:33 +02:00
  • ae46cbc44e feat: add footer with copyright and dev.pivoine.art link valknar 2026-06-14 21:44:58 +02:00
  • 1c73baf894 fix: remove unused \$name variable from PlayerGoalsByYear query valknar 2026-06-14 21:41:42 +02:00
  • 0b26c59ceb fix: regenerate pnpm-lock.yaml after heroicons install, remove npm lockfile valknar 2026-06-14 21:34:49 +02:00
  • 3cb619d7fa fix: include today's completed matches in recentMatches valknar 2026-06-14 21:26:25 +02:00
  • c3ddb6e874 feat: replace emoji icons with Heroicons SVG set valknar 2026-06-14 21:23:38 +02:00
  • a6111d7beb fix: resolve Apollo cache warning for TeamStats embedded objects valknar 2026-06-14 21:12:13 +02:00
  • 6e6e819718 fix: scope team page scorers by teamId instead of filtering global top 200 valknar 2026-06-14 21:11:16 +02:00
  • 9b8e266f88 feat: team pages with match/tournament history, mobile padding fixes, linked scorers and nations valknar 2026-06-14 21:07:56 +02:00
  • f1b5328b78 fix: switch team table and confederation stats to proper table layout valknar 2026-06-14 20:26:49 +02:00
  • e5625bf759 fix: minimize favicon margins — trophy fills 96% of height valknar 2026-06-14 20:23:03 +02:00
  • 9077f3ec8b fix: remove background rect from favicon, transparent icons valknar 2026-06-14 20:21:13 +02:00
  • 2b18fa1ebb fix: rebuild favicon with inlined vector paths, no image-embed blurriness valknar 2026-06-14 20:20:21 +02:00
  • 020fbd5bdf fix: rebuild favicon as proper square SVG with dark background valknar 2026-06-14 20:17:08 +02:00
  • 238bbabbdb feat: add proper favicon, apple-touch-icon, webmanifest and PWA icons valknar 2026-06-14 20:13:52 +02:00
  • 886523173b fix: use grid layout for full match card so teams stay in one row on mobile valknar 2026-06-14 20:10:55 +02:00
  • ee1acb6e45 feat: add mobile hamburger menu with slide-down panel valknar 2026-06-14 20:08:03 +02:00
  • 05a75fffca fix: increase trophy icon height to 36px valknar 2026-06-14 20:02:39 +02:00
  • ffa8ec16c8 fix: constrain trophy icon height to 22px to match nav proportions valknar 2026-06-14 20:02:16 +02:00
  • c9e1beafc7 feat: replace hand-drawn ball SVG with FIFA trophy icon in nav valknar 2026-06-14 20:01:28 +02:00
  • 3eb36061e0 feat: replace inline SVG icon with FIFA World Cup trophy icon valknar 2026-06-14 20:00:17 +02:00
  • 52b8348203 feat: add 404 page matching app design system valknar 2026-06-14 19:54:14 +02:00
  • 85c40cf56e fix: update document.title on every page via useEffect valknar 2026-06-14 19:52:59 +02:00
  • 32d33d2f92 fix: add data-scroll-behavior="smooth" to suppress Next.js warning valknar 2026-06-14 19:45:01 +02:00
  • 2e284ec49e fix: show penalty score as headline result, FT score as footnote valknar 2026-06-14 19:39:01 +02:00
  • 25e440f5a4 fix: scroll to hash anchor after Apollo data loads on tournament page valknar 2026-06-14 19:36:08 +02:00
  • e4d9772c47 fix: add missing team name variants and defunct nations to iso-codes valknar 2026-06-14 19:33:01 +02:00
  • c98d45da79 fix: add Türkiye alias to iso-codes (openfootball uses new name) valknar 2026-06-14 19:31:13 +02:00
  • 050f661e6d fix: match placeholder badge dimensions to flag-icons flag size valknar 2026-06-14 19:28:12 +02:00
  • 39985a5c71 fix: override stale DB iso2 with registry for known defunct nations valknar 2026-06-14 19:25:55 +02:00
  • b942ae7c8f fix: show placeholder badge for defunct nations with no flag-icons code valknar 2026-06-14 19:21:38 +02:00
  • 3955c7492b feat: replace historical sync with Kaggle seed for complete 1930-2022 goal data valknar 2026-06-14 18:43:43 +02:00
  • 191888225f fix: delete goals once per match instead of once per team in syncGoals() valknar 2026-06-14 17:38:35 +02:00
  • c418a51f08 chore: remove flags from location text on homepage and history valknar 2026-06-14 17:30:12 +02:00
  • 78340bd2db fix: convert match local time to UTC in isLive() valknar 2026-06-14 17:24:59 +02:00
  • 42019e5035 fix: normalize West Germany → Germany in sync script and repair existing data valknar 2026-06-14 17:12:06 +02:00
  • 48f7e71a8e fix: map total_goals → totalGoals in confederationStats resolver valknar 2026-06-14 17:06:22 +02:00
  • 9926673ffd fix: add limit arg to Tournament.topScorers in GraphQL schema valknar 2026-06-14 17:05:31 +02:00
  • 0eb0fb5ee4 fix: use percent-encoded DATABASE_URL instead of split DB_PASSWORD trick valknar 2026-06-14 17:01:06 +02:00
  • 2b22f504cf fix: pass DB_PASSWORD to postgres client in sync script valknar 2026-06-14 16:43:50 +02:00
  • 9a87e9dde3 fix: proper Tailwind v4 CSS structure in globals.css valknar 2026-06-14 16:37:59 +02:00
  • ea7f0551f0 fix: replace recursive ** globs in @source with explicit per-directory paths valknar 2026-06-14 16:26:25 +02:00
  • 30d30f68fb fix: add @source directives so Tailwind v4 scans all component files valknar 2026-06-14 16:22:13 +02:00
  • 0cabcf7438 fix: separate DB_PASSWORD from DATABASE_URL to handle special chars valknar 2026-06-14 15:58:48 +02:00
  • 29ef528d67 chore: update DATABASE_URL hostname in .env.example to worldcup_db valknar 2026-06-14 15:41:17 +02:00
  • bec5cf28e6 chore: set explicit container names and drop no-index middleware valknar 2026-06-14 15:40:12 +02:00
  • 58b4114159 feat: initial commit — World Cup stats app with pnpm, Traefik, Docker valknar 2026-06-14 15:36:44 +02:00