From c7088bc31b4f793f51fe28c8d238404f0a1cb23f Mon Sep 17 00:00:00 2001 From: Lucas Kalil Date: Fri, 12 Jun 2026 16:12:02 -0300 Subject: [PATCH] feat(data): add mock tournament dataset and placeholder artwork --- assets/images/flags/alg.svg | 5 + assets/images/flags/arg.svg | 5 + assets/images/flags/aus.svg | 5 + assets/images/flags/aut.svg | 5 + assets/images/flags/bel.svg | 5 + assets/images/flags/bra.svg | 5 + assets/images/flags/can.svg | 5 + assets/images/flags/chi.svg | 5 + assets/images/flags/civ.svg | 5 + assets/images/flags/cmr.svg | 5 + assets/images/flags/col.svg | 5 + assets/images/flags/crc.svg | 5 + assets/images/flags/cro.svg | 5 + assets/images/flags/den.svg | 5 + assets/images/flags/ecu.svg | 5 + assets/images/flags/egy.svg | 5 + assets/images/flags/eng.svg | 5 + assets/images/flags/esp.svg | 5 + assets/images/flags/fra.svg | 5 + assets/images/flags/ger.svg | 5 + assets/images/flags/gha.svg | 5 + assets/images/flags/hon.svg | 5 + assets/images/flags/irn.svg | 5 + assets/images/flags/ita.svg | 5 + assets/images/flags/jam.svg | 5 + assets/images/flags/jor.svg | 5 + assets/images/flags/jpn.svg | 5 + assets/images/flags/kor.svg | 5 + assets/images/flags/ksa.svg | 5 + assets/images/flags/mar.svg | 5 + assets/images/flags/mex.svg | 5 + assets/images/flags/ned.svg | 5 + assets/images/flags/nga.svg | 5 + assets/images/flags/nzl.svg | 5 + assets/images/flags/pan.svg | 5 + assets/images/flags/par.svg | 5 + assets/images/flags/pol.svg | 5 + assets/images/flags/por.svg | 5 + assets/images/flags/qat.svg | 5 + assets/images/flags/sco.svg | 5 + assets/images/flags/sen.svg | 5 + assets/images/flags/srb.svg | 5 + assets/images/flags/sui.svg | 5 + assets/images/flags/tun.svg | 5 + assets/images/flags/tur.svg | 5 + assets/images/flags/uru.svg | 5 + assets/images/flags/usa.svg | 5 + assets/images/flags/uzb.svg | 5 + assets/images/stadiums/akron.svg | 15 + assets/images/stadiums/allegiant.svg | 15 + assets/images/stadiums/arrowhead.svg | 15 + assets/images/stadiums/att.svg | 15 + assets/images/stadiums/azteca.svg | 15 + assets/images/stadiums/bbva.svg | 15 + assets/images/stadiums/bcplace.svg | 15 + assets/images/stadiums/bmo.svg | 15 + assets/images/stadiums/campingworld.svg | 15 + assets/images/stadiums/commonwealth.svg | 15 + assets/images/stadiums/cuauhtemoc.svg | 15 + assets/images/stadiums/empower.svg | 15 + assets/images/stadiums/gillette.svg | 15 + assets/images/stadiums/hardrock.svg | 15 + assets/images/stadiums/jalisco.svg | 15 + assets/images/stadiums/levis.svg | 15 + assets/images/stadiums/lincoln.svg | 15 + assets/images/stadiums/lumen.svg | 15 + assets/images/stadiums/mercedesbenz.svg | 15 + assets/images/stadiums/metlife.svg | 15 + assets/images/stadiums/mtbank.svg | 15 + assets/images/stadiums/nrg.svg | 15 + assets/images/stadiums/olympic.svg | 15 + assets/images/stadiums/raymondjames.svg | 15 + assets/images/stadiums/rosebowl.svg | 15 + assets/images/stadiums/sofi.svg | 15 + assets/images/stadiums/soldier.svg | 15 + assets/images/stadiums/statefarm.svg | 15 + assets/images/stadiums/superdome.svg | 15 + assets/images/stadiums/universitario.svg | 15 + data/bracket-config.json | 214 +++++ data/groups.json | 74 ++ data/matches.json | 1010 ++++++++++++++++++++++ data/results.json | 630 ++++++++++++++ data/stadiums.json | 242 ++++++ data/teams.json | 242 ++++++ 84 files changed, 3102 insertions(+) create mode 100644 assets/images/flags/alg.svg create mode 100644 assets/images/flags/arg.svg create mode 100644 assets/images/flags/aus.svg create mode 100644 assets/images/flags/aut.svg create mode 100644 assets/images/flags/bel.svg create mode 100644 assets/images/flags/bra.svg create mode 100644 assets/images/flags/can.svg create mode 100644 assets/images/flags/chi.svg create mode 100644 assets/images/flags/civ.svg create mode 100644 assets/images/flags/cmr.svg create mode 100644 assets/images/flags/col.svg create mode 100644 assets/images/flags/crc.svg create mode 100644 assets/images/flags/cro.svg create mode 100644 assets/images/flags/den.svg create mode 100644 assets/images/flags/ecu.svg create mode 100644 assets/images/flags/egy.svg create mode 100644 assets/images/flags/eng.svg create mode 100644 assets/images/flags/esp.svg create mode 100644 assets/images/flags/fra.svg create mode 100644 assets/images/flags/ger.svg create mode 100644 assets/images/flags/gha.svg create mode 100644 assets/images/flags/hon.svg create mode 100644 assets/images/flags/irn.svg create mode 100644 assets/images/flags/ita.svg create mode 100644 assets/images/flags/jam.svg create mode 100644 assets/images/flags/jor.svg create mode 100644 assets/images/flags/jpn.svg create mode 100644 assets/images/flags/kor.svg create mode 100644 assets/images/flags/ksa.svg create mode 100644 assets/images/flags/mar.svg create mode 100644 assets/images/flags/mex.svg create mode 100644 assets/images/flags/ned.svg create mode 100644 assets/images/flags/nga.svg create mode 100644 assets/images/flags/nzl.svg create mode 100644 assets/images/flags/pan.svg create mode 100644 assets/images/flags/par.svg create mode 100644 assets/images/flags/pol.svg create mode 100644 assets/images/flags/por.svg create mode 100644 assets/images/flags/qat.svg create mode 100644 assets/images/flags/sco.svg create mode 100644 assets/images/flags/sen.svg create mode 100644 assets/images/flags/srb.svg create mode 100644 assets/images/flags/sui.svg create mode 100644 assets/images/flags/tun.svg create mode 100644 assets/images/flags/tur.svg create mode 100644 assets/images/flags/uru.svg create mode 100644 assets/images/flags/usa.svg create mode 100644 assets/images/flags/uzb.svg create mode 100644 assets/images/stadiums/akron.svg create mode 100644 assets/images/stadiums/allegiant.svg create mode 100644 assets/images/stadiums/arrowhead.svg create mode 100644 assets/images/stadiums/att.svg create mode 100644 assets/images/stadiums/azteca.svg create mode 100644 assets/images/stadiums/bbva.svg create mode 100644 assets/images/stadiums/bcplace.svg create mode 100644 assets/images/stadiums/bmo.svg create mode 100644 assets/images/stadiums/campingworld.svg create mode 100644 assets/images/stadiums/commonwealth.svg create mode 100644 assets/images/stadiums/cuauhtemoc.svg create mode 100644 assets/images/stadiums/empower.svg create mode 100644 assets/images/stadiums/gillette.svg create mode 100644 assets/images/stadiums/hardrock.svg create mode 100644 assets/images/stadiums/jalisco.svg create mode 100644 assets/images/stadiums/levis.svg create mode 100644 assets/images/stadiums/lincoln.svg create mode 100644 assets/images/stadiums/lumen.svg create mode 100644 assets/images/stadiums/mercedesbenz.svg create mode 100644 assets/images/stadiums/metlife.svg create mode 100644 assets/images/stadiums/mtbank.svg create mode 100644 assets/images/stadiums/nrg.svg create mode 100644 assets/images/stadiums/olympic.svg create mode 100644 assets/images/stadiums/raymondjames.svg create mode 100644 assets/images/stadiums/rosebowl.svg create mode 100644 assets/images/stadiums/sofi.svg create mode 100644 assets/images/stadiums/soldier.svg create mode 100644 assets/images/stadiums/statefarm.svg create mode 100644 assets/images/stadiums/superdome.svg create mode 100644 assets/images/stadiums/universitario.svg create mode 100644 data/bracket-config.json create mode 100644 data/groups.json create mode 100644 data/matches.json create mode 100644 data/results.json create mode 100644 data/stadiums.json create mode 100644 data/teams.json diff --git a/assets/images/flags/alg.svg b/assets/images/flags/alg.svg new file mode 100644 index 0000000..49e52c6 --- /dev/null +++ b/assets/images/flags/alg.svg @@ -0,0 +1,5 @@ + + + + ALG + diff --git a/assets/images/flags/arg.svg b/assets/images/flags/arg.svg new file mode 100644 index 0000000..2056b21 --- /dev/null +++ b/assets/images/flags/arg.svg @@ -0,0 +1,5 @@ + + + + ARG + diff --git a/assets/images/flags/aus.svg b/assets/images/flags/aus.svg new file mode 100644 index 0000000..e8d8360 --- /dev/null +++ b/assets/images/flags/aus.svg @@ -0,0 +1,5 @@ + + + + AUS + diff --git a/assets/images/flags/aut.svg b/assets/images/flags/aut.svg new file mode 100644 index 0000000..9838efb --- /dev/null +++ b/assets/images/flags/aut.svg @@ -0,0 +1,5 @@ + + + + AUT + diff --git a/assets/images/flags/bel.svg b/assets/images/flags/bel.svg new file mode 100644 index 0000000..bd09d0f --- /dev/null +++ b/assets/images/flags/bel.svg @@ -0,0 +1,5 @@ + + + + BEL + diff --git a/assets/images/flags/bra.svg b/assets/images/flags/bra.svg new file mode 100644 index 0000000..877a308 --- /dev/null +++ b/assets/images/flags/bra.svg @@ -0,0 +1,5 @@ + + + + BRA + diff --git a/assets/images/flags/can.svg b/assets/images/flags/can.svg new file mode 100644 index 0000000..481fac7 --- /dev/null +++ b/assets/images/flags/can.svg @@ -0,0 +1,5 @@ + + + + CAN + diff --git a/assets/images/flags/chi.svg b/assets/images/flags/chi.svg new file mode 100644 index 0000000..90fdb74 --- /dev/null +++ b/assets/images/flags/chi.svg @@ -0,0 +1,5 @@ + + + + CHI + diff --git a/assets/images/flags/civ.svg b/assets/images/flags/civ.svg new file mode 100644 index 0000000..aa864f1 --- /dev/null +++ b/assets/images/flags/civ.svg @@ -0,0 +1,5 @@ + + + + CIV + diff --git a/assets/images/flags/cmr.svg b/assets/images/flags/cmr.svg new file mode 100644 index 0000000..e382e7a --- /dev/null +++ b/assets/images/flags/cmr.svg @@ -0,0 +1,5 @@ + + + + CMR + diff --git a/assets/images/flags/col.svg b/assets/images/flags/col.svg new file mode 100644 index 0000000..fb41bd0 --- /dev/null +++ b/assets/images/flags/col.svg @@ -0,0 +1,5 @@ + + + + COL + diff --git a/assets/images/flags/crc.svg b/assets/images/flags/crc.svg new file mode 100644 index 0000000..56ffa8c --- /dev/null +++ b/assets/images/flags/crc.svg @@ -0,0 +1,5 @@ + + + + CRC + diff --git a/assets/images/flags/cro.svg b/assets/images/flags/cro.svg new file mode 100644 index 0000000..078fc09 --- /dev/null +++ b/assets/images/flags/cro.svg @@ -0,0 +1,5 @@ + + + + CRO + diff --git a/assets/images/flags/den.svg b/assets/images/flags/den.svg new file mode 100644 index 0000000..6c7cf0c --- /dev/null +++ b/assets/images/flags/den.svg @@ -0,0 +1,5 @@ + + + + DEN + diff --git a/assets/images/flags/ecu.svg b/assets/images/flags/ecu.svg new file mode 100644 index 0000000..769819e --- /dev/null +++ b/assets/images/flags/ecu.svg @@ -0,0 +1,5 @@ + + + + ECU + diff --git a/assets/images/flags/egy.svg b/assets/images/flags/egy.svg new file mode 100644 index 0000000..acc9c35 --- /dev/null +++ b/assets/images/flags/egy.svg @@ -0,0 +1,5 @@ + + + + EGY + diff --git a/assets/images/flags/eng.svg b/assets/images/flags/eng.svg new file mode 100644 index 0000000..f966c1e --- /dev/null +++ b/assets/images/flags/eng.svg @@ -0,0 +1,5 @@ + + + + ENG + diff --git a/assets/images/flags/esp.svg b/assets/images/flags/esp.svg new file mode 100644 index 0000000..4ebbfe4 --- /dev/null +++ b/assets/images/flags/esp.svg @@ -0,0 +1,5 @@ + + + + ESP + diff --git a/assets/images/flags/fra.svg b/assets/images/flags/fra.svg new file mode 100644 index 0000000..203aa9c --- /dev/null +++ b/assets/images/flags/fra.svg @@ -0,0 +1,5 @@ + + + + FRA + diff --git a/assets/images/flags/ger.svg b/assets/images/flags/ger.svg new file mode 100644 index 0000000..96b90bc --- /dev/null +++ b/assets/images/flags/ger.svg @@ -0,0 +1,5 @@ + + + + GER + diff --git a/assets/images/flags/gha.svg b/assets/images/flags/gha.svg new file mode 100644 index 0000000..cc77146 --- /dev/null +++ b/assets/images/flags/gha.svg @@ -0,0 +1,5 @@ + + + + GHA + diff --git a/assets/images/flags/hon.svg b/assets/images/flags/hon.svg new file mode 100644 index 0000000..2895391 --- /dev/null +++ b/assets/images/flags/hon.svg @@ -0,0 +1,5 @@ + + + + HON + diff --git a/assets/images/flags/irn.svg b/assets/images/flags/irn.svg new file mode 100644 index 0000000..2497678 --- /dev/null +++ b/assets/images/flags/irn.svg @@ -0,0 +1,5 @@ + + + + IRN + diff --git a/assets/images/flags/ita.svg b/assets/images/flags/ita.svg new file mode 100644 index 0000000..62cb13a --- /dev/null +++ b/assets/images/flags/ita.svg @@ -0,0 +1,5 @@ + + + + ITA + diff --git a/assets/images/flags/jam.svg b/assets/images/flags/jam.svg new file mode 100644 index 0000000..2fef052 --- /dev/null +++ b/assets/images/flags/jam.svg @@ -0,0 +1,5 @@ + + + + JAM + diff --git a/assets/images/flags/jor.svg b/assets/images/flags/jor.svg new file mode 100644 index 0000000..a7f8075 --- /dev/null +++ b/assets/images/flags/jor.svg @@ -0,0 +1,5 @@ + + + + JOR + diff --git a/assets/images/flags/jpn.svg b/assets/images/flags/jpn.svg new file mode 100644 index 0000000..f2ea938 --- /dev/null +++ b/assets/images/flags/jpn.svg @@ -0,0 +1,5 @@ + + + + JPN + diff --git a/assets/images/flags/kor.svg b/assets/images/flags/kor.svg new file mode 100644 index 0000000..f1230bb --- /dev/null +++ b/assets/images/flags/kor.svg @@ -0,0 +1,5 @@ + + + + KOR + diff --git a/assets/images/flags/ksa.svg b/assets/images/flags/ksa.svg new file mode 100644 index 0000000..99cc4fd --- /dev/null +++ b/assets/images/flags/ksa.svg @@ -0,0 +1,5 @@ + + + + KSA + diff --git a/assets/images/flags/mar.svg b/assets/images/flags/mar.svg new file mode 100644 index 0000000..5e6a3a4 --- /dev/null +++ b/assets/images/flags/mar.svg @@ -0,0 +1,5 @@ + + + + MAR + diff --git a/assets/images/flags/mex.svg b/assets/images/flags/mex.svg new file mode 100644 index 0000000..d36d984 --- /dev/null +++ b/assets/images/flags/mex.svg @@ -0,0 +1,5 @@ + + + + MEX + diff --git a/assets/images/flags/ned.svg b/assets/images/flags/ned.svg new file mode 100644 index 0000000..a94925a --- /dev/null +++ b/assets/images/flags/ned.svg @@ -0,0 +1,5 @@ + + + + NED + diff --git a/assets/images/flags/nga.svg b/assets/images/flags/nga.svg new file mode 100644 index 0000000..eb7a0e4 --- /dev/null +++ b/assets/images/flags/nga.svg @@ -0,0 +1,5 @@ + + + + NGA + diff --git a/assets/images/flags/nzl.svg b/assets/images/flags/nzl.svg new file mode 100644 index 0000000..e2b53a3 --- /dev/null +++ b/assets/images/flags/nzl.svg @@ -0,0 +1,5 @@ + + + + NZL + diff --git a/assets/images/flags/pan.svg b/assets/images/flags/pan.svg new file mode 100644 index 0000000..38333d0 --- /dev/null +++ b/assets/images/flags/pan.svg @@ -0,0 +1,5 @@ + + + + PAN + diff --git a/assets/images/flags/par.svg b/assets/images/flags/par.svg new file mode 100644 index 0000000..f2f8cd6 --- /dev/null +++ b/assets/images/flags/par.svg @@ -0,0 +1,5 @@ + + + + PAR + diff --git a/assets/images/flags/pol.svg b/assets/images/flags/pol.svg new file mode 100644 index 0000000..975a799 --- /dev/null +++ b/assets/images/flags/pol.svg @@ -0,0 +1,5 @@ + + + + POL + diff --git a/assets/images/flags/por.svg b/assets/images/flags/por.svg new file mode 100644 index 0000000..b2111d5 --- /dev/null +++ b/assets/images/flags/por.svg @@ -0,0 +1,5 @@ + + + + POR + diff --git a/assets/images/flags/qat.svg b/assets/images/flags/qat.svg new file mode 100644 index 0000000..1d8a355 --- /dev/null +++ b/assets/images/flags/qat.svg @@ -0,0 +1,5 @@ + + + + QAT + diff --git a/assets/images/flags/sco.svg b/assets/images/flags/sco.svg new file mode 100644 index 0000000..751660a --- /dev/null +++ b/assets/images/flags/sco.svg @@ -0,0 +1,5 @@ + + + + SCO + diff --git a/assets/images/flags/sen.svg b/assets/images/flags/sen.svg new file mode 100644 index 0000000..4ca9407 --- /dev/null +++ b/assets/images/flags/sen.svg @@ -0,0 +1,5 @@ + + + + SEN + diff --git a/assets/images/flags/srb.svg b/assets/images/flags/srb.svg new file mode 100644 index 0000000..1c268a1 --- /dev/null +++ b/assets/images/flags/srb.svg @@ -0,0 +1,5 @@ + + + + SRB + diff --git a/assets/images/flags/sui.svg b/assets/images/flags/sui.svg new file mode 100644 index 0000000..ff6b28a --- /dev/null +++ b/assets/images/flags/sui.svg @@ -0,0 +1,5 @@ + + + + SUI + diff --git a/assets/images/flags/tun.svg b/assets/images/flags/tun.svg new file mode 100644 index 0000000..8724616 --- /dev/null +++ b/assets/images/flags/tun.svg @@ -0,0 +1,5 @@ + + + + TUN + diff --git a/assets/images/flags/tur.svg b/assets/images/flags/tur.svg new file mode 100644 index 0000000..e1f76ad --- /dev/null +++ b/assets/images/flags/tur.svg @@ -0,0 +1,5 @@ + + + + TUR + diff --git a/assets/images/flags/uru.svg b/assets/images/flags/uru.svg new file mode 100644 index 0000000..533435a --- /dev/null +++ b/assets/images/flags/uru.svg @@ -0,0 +1,5 @@ + + + + URU + diff --git a/assets/images/flags/usa.svg b/assets/images/flags/usa.svg new file mode 100644 index 0000000..a3b6a85 --- /dev/null +++ b/assets/images/flags/usa.svg @@ -0,0 +1,5 @@ + + + + USA + diff --git a/assets/images/flags/uzb.svg b/assets/images/flags/uzb.svg new file mode 100644 index 0000000..cda4acb --- /dev/null +++ b/assets/images/flags/uzb.svg @@ -0,0 +1,5 @@ + + + + UZB + diff --git a/assets/images/stadiums/akron.svg b/assets/images/stadiums/akron.svg new file mode 100644 index 0000000..31d379e --- /dev/null +++ b/assets/images/stadiums/akron.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio Akron + Guadalajara + diff --git a/assets/images/stadiums/allegiant.svg b/assets/images/stadiums/allegiant.svg new file mode 100644 index 0000000..00b2345 --- /dev/null +++ b/assets/images/stadiums/allegiant.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Allegiant Stadium + Las Vegas + diff --git a/assets/images/stadiums/arrowhead.svg b/assets/images/stadiums/arrowhead.svg new file mode 100644 index 0000000..9c20063 --- /dev/null +++ b/assets/images/stadiums/arrowhead.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Arrowhead Stadium + Kansas City + diff --git a/assets/images/stadiums/att.svg b/assets/images/stadiums/att.svg new file mode 100644 index 0000000..5525fb7 --- /dev/null +++ b/assets/images/stadiums/att.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + AT&T Stadium + Dallas + diff --git a/assets/images/stadiums/azteca.svg b/assets/images/stadiums/azteca.svg new file mode 100644 index 0000000..ba17d01 --- /dev/null +++ b/assets/images/stadiums/azteca.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio Azteca + Mexico City + diff --git a/assets/images/stadiums/bbva.svg b/assets/images/stadiums/bbva.svg new file mode 100644 index 0000000..cb5e43a --- /dev/null +++ b/assets/images/stadiums/bbva.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio BBVA + Monterrey + diff --git a/assets/images/stadiums/bcplace.svg b/assets/images/stadiums/bcplace.svg new file mode 100644 index 0000000..082bb71 --- /dev/null +++ b/assets/images/stadiums/bcplace.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + BC Place + Vancouver + diff --git a/assets/images/stadiums/bmo.svg b/assets/images/stadiums/bmo.svg new file mode 100644 index 0000000..44b21ff --- /dev/null +++ b/assets/images/stadiums/bmo.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + BMO Field + Toronto + diff --git a/assets/images/stadiums/campingworld.svg b/assets/images/stadiums/campingworld.svg new file mode 100644 index 0000000..f276c95 --- /dev/null +++ b/assets/images/stadiums/campingworld.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Camping World Stadium + Orlando + diff --git a/assets/images/stadiums/commonwealth.svg b/assets/images/stadiums/commonwealth.svg new file mode 100644 index 0000000..aea72b9 --- /dev/null +++ b/assets/images/stadiums/commonwealth.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Commonwealth Stadium + Edmonton + diff --git a/assets/images/stadiums/cuauhtemoc.svg b/assets/images/stadiums/cuauhtemoc.svg new file mode 100644 index 0000000..dd25824 --- /dev/null +++ b/assets/images/stadiums/cuauhtemoc.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio Cuauhtemoc + Puebla + diff --git a/assets/images/stadiums/empower.svg b/assets/images/stadiums/empower.svg new file mode 100644 index 0000000..1b50463 --- /dev/null +++ b/assets/images/stadiums/empower.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Empower Field + Denver + diff --git a/assets/images/stadiums/gillette.svg b/assets/images/stadiums/gillette.svg new file mode 100644 index 0000000..75d2270 --- /dev/null +++ b/assets/images/stadiums/gillette.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Gillette Stadium + Boston + diff --git a/assets/images/stadiums/hardrock.svg b/assets/images/stadiums/hardrock.svg new file mode 100644 index 0000000..9176a6d --- /dev/null +++ b/assets/images/stadiums/hardrock.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Hard Rock Stadium + Miami + diff --git a/assets/images/stadiums/jalisco.svg b/assets/images/stadiums/jalisco.svg new file mode 100644 index 0000000..9e4395e --- /dev/null +++ b/assets/images/stadiums/jalisco.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio Jalisco + Guadalajara + diff --git a/assets/images/stadiums/levis.svg b/assets/images/stadiums/levis.svg new file mode 100644 index 0000000..43fb371 --- /dev/null +++ b/assets/images/stadiums/levis.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Levi's Stadium + San Francisco + diff --git a/assets/images/stadiums/lincoln.svg b/assets/images/stadiums/lincoln.svg new file mode 100644 index 0000000..db132ff --- /dev/null +++ b/assets/images/stadiums/lincoln.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Lincoln Financial Field + Philadelphia + diff --git a/assets/images/stadiums/lumen.svg b/assets/images/stadiums/lumen.svg new file mode 100644 index 0000000..9ba12f5 --- /dev/null +++ b/assets/images/stadiums/lumen.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Lumen Field + Seattle + diff --git a/assets/images/stadiums/mercedesbenz.svg b/assets/images/stadiums/mercedesbenz.svg new file mode 100644 index 0000000..7671be3 --- /dev/null +++ b/assets/images/stadiums/mercedesbenz.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Mercedes-Benz Stadium + Atlanta + diff --git a/assets/images/stadiums/metlife.svg b/assets/images/stadiums/metlife.svg new file mode 100644 index 0000000..dc4f7d3 --- /dev/null +++ b/assets/images/stadiums/metlife.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + MetLife Stadium + New York + diff --git a/assets/images/stadiums/mtbank.svg b/assets/images/stadiums/mtbank.svg new file mode 100644 index 0000000..7b3a30f --- /dev/null +++ b/assets/images/stadiums/mtbank.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + M&T Bank Stadium + Baltimore + diff --git a/assets/images/stadiums/nrg.svg b/assets/images/stadiums/nrg.svg new file mode 100644 index 0000000..de2c316 --- /dev/null +++ b/assets/images/stadiums/nrg.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + NRG Stadium + Houston + diff --git a/assets/images/stadiums/olympic.svg b/assets/images/stadiums/olympic.svg new file mode 100644 index 0000000..8614d29 --- /dev/null +++ b/assets/images/stadiums/olympic.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Olympic Stadium + Montreal + diff --git a/assets/images/stadiums/raymondjames.svg b/assets/images/stadiums/raymondjames.svg new file mode 100644 index 0000000..d78c42d --- /dev/null +++ b/assets/images/stadiums/raymondjames.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Raymond James Stadium + Tampa + diff --git a/assets/images/stadiums/rosebowl.svg b/assets/images/stadiums/rosebowl.svg new file mode 100644 index 0000000..05969b8 --- /dev/null +++ b/assets/images/stadiums/rosebowl.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Rose Bowl + Pasadena + diff --git a/assets/images/stadiums/sofi.svg b/assets/images/stadiums/sofi.svg new file mode 100644 index 0000000..5a79d78 --- /dev/null +++ b/assets/images/stadiums/sofi.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + SoFi Stadium + Los Angeles + diff --git a/assets/images/stadiums/soldier.svg b/assets/images/stadiums/soldier.svg new file mode 100644 index 0000000..6de4091 --- /dev/null +++ b/assets/images/stadiums/soldier.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Soldier Field + Chicago + diff --git a/assets/images/stadiums/statefarm.svg b/assets/images/stadiums/statefarm.svg new file mode 100644 index 0000000..be3d9e9 --- /dev/null +++ b/assets/images/stadiums/statefarm.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + State Farm Stadium + Phoenix + diff --git a/assets/images/stadiums/superdome.svg b/assets/images/stadiums/superdome.svg new file mode 100644 index 0000000..58272c1 --- /dev/null +++ b/assets/images/stadiums/superdome.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Caesars Superdome + New Orleans + diff --git a/assets/images/stadiums/universitario.svg b/assets/images/stadiums/universitario.svg new file mode 100644 index 0000000..a11f334 --- /dev/null +++ b/assets/images/stadiums/universitario.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + Estadio Universitario + Monterrey + diff --git a/data/bracket-config.json b/data/bracket-config.json new file mode 100644 index 0000000..9c09c4c --- /dev/null +++ b/data/bracket-config.json @@ -0,0 +1,214 @@ +{ + "round32": [ + { + "id": "R32-1", + "home": { + "type": "group", + "ref": "A", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 1 + } + }, + { + "id": "R32-2", + "home": { + "type": "group", + "ref": "C", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "F", + "pos": 2 + } + }, + { + "id": "R32-3", + "home": { + "type": "group", + "ref": "B", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 2 + } + }, + { + "id": "R32-4", + "home": { + "type": "group", + "ref": "D", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "E", + "pos": 2 + } + }, + { + "id": "R32-5", + "home": { + "type": "group", + "ref": "E", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 3 + } + }, + { + "id": "R32-6", + "home": { + "type": "group", + "ref": "F", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "C", + "pos": 2 + } + }, + { + "id": "R32-7", + "home": { + "type": "group", + "ref": "G", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 4 + } + }, + { + "id": "R32-8", + "home": { + "type": "group", + "ref": "H", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "J", + "pos": 2 + } + }, + { + "id": "R32-9", + "home": { + "type": "group", + "ref": "I", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 5 + } + }, + { + "id": "R32-10", + "home": { + "type": "group", + "ref": "J", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "H", + "pos": 2 + } + }, + { + "id": "R32-11", + "home": { + "type": "group", + "ref": "K", + "pos": 1 + }, + "away": { + "type": "third", + "slot": 6 + } + }, + { + "id": "R32-12", + "home": { + "type": "group", + "ref": "L", + "pos": 1 + }, + "away": { + "type": "group", + "ref": "K", + "pos": 2 + } + }, + { + "id": "R32-13", + "home": { + "type": "group", + "ref": "A", + "pos": 2 + }, + "away": { + "type": "group", + "ref": "B", + "pos": 2 + } + }, + { + "id": "R32-14", + "home": { + "type": "group", + "ref": "D", + "pos": 2 + }, + "away": { + "type": "third", + "slot": 7 + } + }, + { + "id": "R32-15", + "home": { + "type": "group", + "ref": "G", + "pos": 2 + }, + "away": { + "type": "group", + "ref": "I", + "pos": 2 + } + }, + { + "id": "R32-16", + "home": { + "type": "group", + "ref": "L", + "pos": 2 + }, + "away": { + "type": "third", + "slot": 8 + } + } + ], + "thirdPlaceAssignment": { + "1": null, + "2": null, + "3": null, + "4": null, + "5": null, + "6": null, + "7": null, + "8": null + } +} diff --git a/data/groups.json b/data/groups.json new file mode 100644 index 0000000..5669be6 --- /dev/null +++ b/data/groups.json @@ -0,0 +1,74 @@ +{ + "A": [ + "MEX", + "SUI", + "KOR", + "JAM" + ], + "B": [ + "CAN", + "ESP", + "EGY", + "NZL" + ], + "C": [ + "BRA", + "ENG", + "TUN", + "UZB" + ], + "D": [ + "USA", + "NED", + "GHA", + "PAR" + ], + "E": [ + "ARG", + "AUT", + "CMR", + "QAT" + ], + "F": [ + "FRA", + "COL", + "NGA", + "AUS" + ], + "G": [ + "GER", + "URU", + "ALG", + "JPN" + ], + "H": [ + "POR", + "SRB", + "SEN", + "CRC" + ], + "I": [ + "ITA", + "ECU", + "KSA", + "HON" + ], + "J": [ + "BEL", + "POL", + "IRN", + "PAN" + ], + "K": [ + "CRO", + "TUR", + "CIV", + "CHI" + ], + "L": [ + "MAR", + "DEN", + "SCO", + "JOR" + ] +} diff --git a/data/matches.json b/data/matches.json new file mode 100644 index 0000000..e46c3ad --- /dev/null +++ b/data/matches.json @@ -0,0 +1,1010 @@ +[ + { + "id": 1, + "phase": "Group A", + "date": "2026-06-11", + "time": "16:00", + "stadium": "Estadio Azteca", + "city": "Mexico City", + "homeTeam": "MEX", + "awayTeam": "SUI" + }, + { + "id": 2, + "phase": "Group A", + "date": "2026-06-11", + "time": "19:00", + "stadium": "Estadio Azteca", + "city": "Mexico City", + "homeTeam": "KOR", + "awayTeam": "JAM" + }, + { + "id": 3, + "phase": "Group B", + "date": "2026-06-11", + "time": "19:00", + "stadium": "Levi's Stadium", + "city": "San Francisco", + "homeTeam": "CAN", + "awayTeam": "ESP" + }, + { + "id": 4, + "phase": "Group B", + "date": "2026-06-11", + "time": "22:00", + "stadium": "NRG Stadium", + "city": "Houston", + "homeTeam": "EGY", + "awayTeam": "NZL" + }, + { + "id": 5, + "phase": "Group C", + "date": "2026-06-11", + "time": "22:00", + "stadium": "Raymond James Stadium", + "city": "Tampa", + "homeTeam": "BRA", + "awayTeam": "ENG" + }, + { + "id": 6, + "phase": "Group C", + "date": "2026-06-11", + "time": "16:00", + "stadium": "BC Place", + "city": "Vancouver", + "homeTeam": "TUN", + "awayTeam": "UZB" + }, + { + "id": 7, + "phase": "Group D", + "date": "2026-06-12", + "time": "16:00", + "stadium": "Estadio Jalisco", + "city": "Guadalajara", + "homeTeam": "USA", + "awayTeam": "NED" + }, + { + "id": 8, + "phase": "Group D", + "date": "2026-06-12", + "time": "19:00", + "stadium": "Empower Field", + "city": "Denver", + "homeTeam": "GHA", + "awayTeam": "PAR" + }, + { + "id": 9, + "phase": "Group E", + "date": "2026-06-12", + "time": "19:00", + "stadium": "Hard Rock Stadium", + "city": "Miami", + "homeTeam": "ARG", + "awayTeam": "AUT" + }, + { + "id": 10, + "phase": "Group E", + "date": "2026-06-12", + "time": "22:00", + "stadium": "BMO Field", + "city": "Toronto", + "homeTeam": "CMR", + "awayTeam": "QAT" + }, + { + "id": 11, + "phase": "Group F", + "date": "2026-06-12", + "time": "22:00", + "stadium": "Estadio Cuauhtemoc", + "city": "Puebla", + "homeTeam": "FRA", + "awayTeam": "COL" + }, + { + "id": 12, + "phase": "Group F", + "date": "2026-06-12", + "time": "16:00", + "stadium": "Allegiant Stadium", + "city": "Las Vegas", + "homeTeam": "NGA", + "awayTeam": "AUS" + }, + { + "id": 13, + "phase": "Group G", + "date": "2026-06-13", + "time": "16:00", + "stadium": "Caesars Superdome", + "city": "New Orleans", + "homeTeam": "GER", + "awayTeam": "URU" + }, + { + "id": 14, + "phase": "Group G", + "date": "2026-06-13", + "time": "19:00", + "stadium": "Gillette Stadium", + "city": "Boston", + "homeTeam": "ALG", + "awayTeam": "JPN" + }, + { + "id": 15, + "phase": "Group H", + "date": "2026-06-13", + "time": "19:00", + "stadium": "Estadio Akron", + "city": "Guadalajara", + "homeTeam": "POR", + "awayTeam": "SRB" + }, + { + "id": 16, + "phase": "Group H", + "date": "2026-06-13", + "time": "22:00", + "stadium": "Lumen Field", + "city": "Seattle", + "homeTeam": "SEN", + "awayTeam": "CRC" + }, + { + "id": 17, + "phase": "Group I", + "date": "2026-06-13", + "time": "22:00", + "stadium": "Arrowhead Stadium", + "city": "Kansas City", + "homeTeam": "ITA", + "awayTeam": "ECU" + }, + { + "id": 18, + "phase": "Group I", + "date": "2026-06-13", + "time": "16:00", + "stadium": "MetLife Stadium", + "city": "New York", + "homeTeam": "KSA", + "awayTeam": "HON" + }, + { + "id": 19, + "phase": "Group J", + "date": "2026-06-14", + "time": "16:00", + "stadium": "Commonwealth Stadium", + "city": "Edmonton", + "homeTeam": "BEL", + "awayTeam": "POL" + }, + { + "id": 20, + "phase": "Group J", + "date": "2026-06-14", + "time": "19:00", + "stadium": "SoFi Stadium", + "city": "Los Angeles", + "homeTeam": "IRN", + "awayTeam": "PAN" + }, + { + "id": 21, + "phase": "Group K", + "date": "2026-06-14", + "time": "19:00", + "stadium": "AT&T Stadium", + "city": "Dallas", + "homeTeam": "CRO", + "awayTeam": "TUR" + }, + { + "id": 22, + "phase": "Group K", + "date": "2026-06-14", + "time": "22:00", + "stadium": "Camping World Stadium", + "city": "Orlando", + "homeTeam": "CIV", + "awayTeam": "CHI" + }, + { + "id": 23, + "phase": "Group L", + "date": "2026-06-14", + "time": "22:00", + "stadium": "Olympic Stadium", + "city": "Montreal", + "homeTeam": "MAR", + "awayTeam": "DEN" + }, + { + "id": 24, + "phase": "Group L", + "date": "2026-06-14", + "time": "16:00", + "stadium": "Estadio Universitario", + "city": "Monterrey", + "homeTeam": "SCO", + "awayTeam": "JOR" + }, + { + "id": 25, + "phase": "Group A", + "date": "2026-06-16", + "time": "16:00", + "stadium": "State Farm Stadium", + "city": "Phoenix", + "homeTeam": "MEX", + "awayTeam": "KOR" + }, + { + "id": 26, + "phase": "Group A", + "date": "2026-06-16", + "time": "19:00", + "stadium": "Mercedes-Benz Stadium", + "city": "Atlanta", + "homeTeam": "SUI", + "awayTeam": "JAM" + }, + { + "id": 27, + "phase": "Group B", + "date": "2026-06-16", + "time": "19:00", + "stadium": "M&T Bank Stadium", + "city": "Baltimore", + "homeTeam": "CAN", + "awayTeam": "EGY" + }, + { + "id": 28, + "phase": "Group B", + "date": "2026-06-16", + "time": "22:00", + "stadium": "Estadio BBVA", + "city": "Monterrey", + "homeTeam": "ESP", + "awayTeam": "NZL" + }, + { + "id": 29, + "phase": "Group C", + "date": "2026-06-16", + "time": "22:00", + "stadium": "Rose Bowl", + "city": "Pasadena", + "homeTeam": "BRA", + "awayTeam": "TUN" + }, + { + "id": 30, + "phase": "Group C", + "date": "2026-06-16", + "time": "16:00", + "stadium": "Soldier Field", + "city": "Chicago", + "homeTeam": "ENG", + "awayTeam": "UZB" + }, + { + "id": 31, + "phase": "Group D", + "date": "2026-06-17", + "time": "16:00", + "stadium": "Lincoln Financial Field", + "city": "Philadelphia", + "homeTeam": "USA", + "awayTeam": "GHA" + }, + { + "id": 32, + "phase": "Group D", + "date": "2026-06-17", + "time": "19:00", + "stadium": "Estadio Azteca", + "city": "Mexico City", + "homeTeam": "NED", + "awayTeam": "PAR" + }, + { + "id": 33, + "phase": "Group E", + "date": "2026-06-17", + "time": "19:00", + "stadium": "Levi's Stadium", + "city": "San Francisco", + "homeTeam": "ARG", + "awayTeam": "CMR" + }, + { + "id": 34, + "phase": "Group E", + "date": "2026-06-17", + "time": "22:00", + "stadium": "NRG Stadium", + "city": "Houston", + "homeTeam": "AUT", + "awayTeam": "QAT" + }, + { + "id": 35, + "phase": "Group F", + "date": "2026-06-17", + "time": "22:00", + "stadium": "Raymond James Stadium", + "city": "Tampa", + "homeTeam": "FRA", + "awayTeam": "NGA" + }, + { + "id": 36, + "phase": "Group F", + "date": "2026-06-17", + "time": "16:00", + "stadium": "BC Place", + "city": "Vancouver", + "homeTeam": "COL", + "awayTeam": "AUS" + }, + { + "id": 37, + "phase": "Group G", + "date": "2026-06-18", + "time": "16:00", + "stadium": "Estadio Jalisco", + "city": "Guadalajara", + "homeTeam": "GER", + "awayTeam": "ALG" + }, + { + "id": 38, + "phase": "Group G", + "date": "2026-06-18", + "time": "19:00", + "stadium": "Empower Field", + "city": "Denver", + "homeTeam": "URU", + "awayTeam": "JPN" + }, + { + "id": 39, + "phase": "Group H", + "date": "2026-06-18", + "time": "19:00", + "stadium": "Hard Rock Stadium", + "city": "Miami", + "homeTeam": "POR", + "awayTeam": "SEN" + }, + { + "id": 40, + "phase": "Group H", + "date": "2026-06-18", + "time": "22:00", + "stadium": "BMO Field", + "city": "Toronto", + "homeTeam": "SRB", + "awayTeam": "CRC" + }, + { + "id": 41, + "phase": "Group I", + "date": "2026-06-18", + "time": "22:00", + "stadium": "Estadio Cuauhtemoc", + "city": "Puebla", + "homeTeam": "ITA", + "awayTeam": "KSA" + }, + { + "id": 42, + "phase": "Group I", + "date": "2026-06-18", + "time": "16:00", + "stadium": "Allegiant Stadium", + "city": "Las Vegas", + "homeTeam": "ECU", + "awayTeam": "HON" + }, + { + "id": 43, + "phase": "Group J", + "date": "2026-06-19", + "time": "16:00", + "stadium": "Caesars Superdome", + "city": "New Orleans", + "homeTeam": "BEL", + "awayTeam": "IRN" + }, + { + "id": 44, + "phase": "Group J", + "date": "2026-06-19", + "time": "19:00", + "stadium": "Gillette Stadium", + "city": "Boston", + "homeTeam": "POL", + "awayTeam": "PAN" + }, + { + "id": 45, + "phase": "Group K", + "date": "2026-06-19", + "time": "19:00", + "stadium": "Estadio Akron", + "city": "Guadalajara", + "homeTeam": "CRO", + "awayTeam": "CIV" + }, + { + "id": 46, + "phase": "Group K", + "date": "2026-06-19", + "time": "22:00", + "stadium": "Lumen Field", + "city": "Seattle", + "homeTeam": "TUR", + "awayTeam": "CHI" + }, + { + "id": 47, + "phase": "Group L", + "date": "2026-06-19", + "time": "22:00", + "stadium": "Arrowhead Stadium", + "city": "Kansas City", + "homeTeam": "MAR", + "awayTeam": "SCO" + }, + { + "id": 48, + "phase": "Group L", + "date": "2026-06-19", + "time": "16:00", + "stadium": "MetLife Stadium", + "city": "New York", + "homeTeam": "DEN", + "awayTeam": "JOR" + }, + { + "id": 49, + "phase": "Group A", + "date": "2026-06-21", + "time": "16:00", + "stadium": "Commonwealth Stadium", + "city": "Edmonton", + "homeTeam": "MEX", + "awayTeam": "JAM" + }, + { + "id": 50, + "phase": "Group A", + "date": "2026-06-21", + "time": "16:00", + "stadium": "SoFi Stadium", + "city": "Los Angeles", + "homeTeam": "SUI", + "awayTeam": "KOR" + }, + { + "id": 51, + "phase": "Group B", + "date": "2026-06-21", + "time": "19:00", + "stadium": "AT&T Stadium", + "city": "Dallas", + "homeTeam": "CAN", + "awayTeam": "NZL" + }, + { + "id": 52, + "phase": "Group B", + "date": "2026-06-21", + "time": "19:00", + "stadium": "Camping World Stadium", + "city": "Orlando", + "homeTeam": "ESP", + "awayTeam": "EGY" + }, + { + "id": 53, + "phase": "Group C", + "date": "2026-06-21", + "time": "22:00", + "stadium": "Olympic Stadium", + "city": "Montreal", + "homeTeam": "BRA", + "awayTeam": "UZB" + }, + { + "id": 54, + "phase": "Group C", + "date": "2026-06-21", + "time": "22:00", + "stadium": "Estadio Universitario", + "city": "Monterrey", + "homeTeam": "ENG", + "awayTeam": "TUN" + }, + { + "id": 55, + "phase": "Group D", + "date": "2026-06-22", + "time": "16:00", + "stadium": "State Farm Stadium", + "city": "Phoenix", + "homeTeam": "USA", + "awayTeam": "PAR" + }, + { + "id": 56, + "phase": "Group D", + "date": "2026-06-22", + "time": "16:00", + "stadium": "Mercedes-Benz Stadium", + "city": "Atlanta", + "homeTeam": "NED", + "awayTeam": "GHA" + }, + { + "id": 57, + "phase": "Group E", + "date": "2026-06-22", + "time": "19:00", + "stadium": "M&T Bank Stadium", + "city": "Baltimore", + "homeTeam": "ARG", + "awayTeam": "QAT" + }, + { + "id": 58, + "phase": "Group E", + "date": "2026-06-22", + "time": "19:00", + "stadium": "Estadio BBVA", + "city": "Monterrey", + "homeTeam": "AUT", + "awayTeam": "CMR" + }, + { + "id": 59, + "phase": "Group F", + "date": "2026-06-22", + "time": "22:00", + "stadium": "Rose Bowl", + "city": "Pasadena", + "homeTeam": "FRA", + "awayTeam": "AUS" + }, + { + "id": 60, + "phase": "Group F", + "date": "2026-06-22", + "time": "22:00", + "stadium": "Soldier Field", + "city": "Chicago", + "homeTeam": "COL", + "awayTeam": "NGA" + }, + { + "id": 61, + "phase": "Group G", + "date": "2026-06-23", + "time": "16:00", + "stadium": "Lincoln Financial Field", + "city": "Philadelphia", + "homeTeam": "GER", + "awayTeam": "JPN" + }, + { + "id": 62, + "phase": "Group G", + "date": "2026-06-23", + "time": "16:00", + "stadium": "Estadio Azteca", + "city": "Mexico City", + "homeTeam": "URU", + "awayTeam": "ALG" + }, + { + "id": 63, + "phase": "Group H", + "date": "2026-06-23", + "time": "19:00", + "stadium": "Levi's Stadium", + "city": "San Francisco", + "homeTeam": "POR", + "awayTeam": "CRC" + }, + { + "id": 64, + "phase": "Group H", + "date": "2026-06-23", + "time": "19:00", + "stadium": "NRG Stadium", + "city": "Houston", + "homeTeam": "SRB", + "awayTeam": "SEN" + }, + { + "id": 65, + "phase": "Group I", + "date": "2026-06-23", + "time": "22:00", + "stadium": "Raymond James Stadium", + "city": "Tampa", + "homeTeam": "ITA", + "awayTeam": "HON" + }, + { + "id": 66, + "phase": "Group I", + "date": "2026-06-23", + "time": "22:00", + "stadium": "BC Place", + "city": "Vancouver", + "homeTeam": "ECU", + "awayTeam": "KSA" + }, + { + "id": 67, + "phase": "Group J", + "date": "2026-06-24", + "time": "16:00", + "stadium": "Estadio Jalisco", + "city": "Guadalajara", + "homeTeam": "BEL", + "awayTeam": "PAN" + }, + { + "id": 68, + "phase": "Group J", + "date": "2026-06-24", + "time": "16:00", + "stadium": "Empower Field", + "city": "Denver", + "homeTeam": "POL", + "awayTeam": "IRN" + }, + { + "id": 69, + "phase": "Group K", + "date": "2026-06-24", + "time": "19:00", + "stadium": "Hard Rock Stadium", + "city": "Miami", + "homeTeam": "CRO", + "awayTeam": "CHI" + }, + { + "id": 70, + "phase": "Group K", + "date": "2026-06-24", + "time": "19:00", + "stadium": "BMO Field", + "city": "Toronto", + "homeTeam": "TUR", + "awayTeam": "CIV" + }, + { + "id": 71, + "phase": "Group L", + "date": "2026-06-24", + "time": "22:00", + "stadium": "Estadio Cuauhtemoc", + "city": "Puebla", + "homeTeam": "MAR", + "awayTeam": "JOR" + }, + { + "id": 72, + "phase": "Group L", + "date": "2026-06-24", + "time": "22:00", + "stadium": "Allegiant Stadium", + "city": "Las Vegas", + "homeTeam": "DEN", + "awayTeam": "SCO" + }, + { + "id": 73, + "phase": "Round of 32", + "date": "2026-06-29", + "time": "13:00", + "stadium": "Caesars Superdome", + "city": "New Orleans", + "bracketRef": "R32-1" + }, + { + "id": 74, + "phase": "Round of 32", + "date": "2026-06-29", + "time": "16:00", + "stadium": "Gillette Stadium", + "city": "Boston", + "bracketRef": "R32-2" + }, + { + "id": 75, + "phase": "Round of 32", + "date": "2026-06-29", + "time": "19:00", + "stadium": "Estadio Akron", + "city": "Guadalajara", + "bracketRef": "R32-3" + }, + { + "id": 76, + "phase": "Round of 32", + "date": "2026-06-29", + "time": "22:00", + "stadium": "Lumen Field", + "city": "Seattle", + "bracketRef": "R32-4" + }, + { + "id": 77, + "phase": "Round of 32", + "date": "2026-06-30", + "time": "13:00", + "stadium": "Arrowhead Stadium", + "city": "Kansas City", + "bracketRef": "R32-5" + }, + { + "id": 78, + "phase": "Round of 32", + "date": "2026-06-30", + "time": "16:00", + "stadium": "MetLife Stadium", + "city": "New York", + "bracketRef": "R32-6" + }, + { + "id": 79, + "phase": "Round of 32", + "date": "2026-06-30", + "time": "19:00", + "stadium": "Commonwealth Stadium", + "city": "Edmonton", + "bracketRef": "R32-7" + }, + { + "id": 80, + "phase": "Round of 32", + "date": "2026-06-30", + "time": "22:00", + "stadium": "SoFi Stadium", + "city": "Los Angeles", + "bracketRef": "R32-8" + }, + { + "id": 81, + "phase": "Round of 32", + "date": "2026-07-01", + "time": "13:00", + "stadium": "AT&T Stadium", + "city": "Dallas", + "bracketRef": "R32-9" + }, + { + "id": 82, + "phase": "Round of 32", + "date": "2026-07-01", + "time": "16:00", + "stadium": "Camping World Stadium", + "city": "Orlando", + "bracketRef": "R32-10" + }, + { + "id": 83, + "phase": "Round of 32", + "date": "2026-07-01", + "time": "19:00", + "stadium": "Olympic Stadium", + "city": "Montreal", + "bracketRef": "R32-11" + }, + { + "id": 84, + "phase": "Round of 32", + "date": "2026-07-01", + "time": "22:00", + "stadium": "Estadio Universitario", + "city": "Monterrey", + "bracketRef": "R32-12" + }, + { + "id": 85, + "phase": "Round of 32", + "date": "2026-07-02", + "time": "13:00", + "stadium": "State Farm Stadium", + "city": "Phoenix", + "bracketRef": "R32-13" + }, + { + "id": 86, + "phase": "Round of 32", + "date": "2026-07-02", + "time": "16:00", + "stadium": "Mercedes-Benz Stadium", + "city": "Atlanta", + "bracketRef": "R32-14" + }, + { + "id": 87, + "phase": "Round of 32", + "date": "2026-07-02", + "time": "19:00", + "stadium": "M&T Bank Stadium", + "city": "Baltimore", + "bracketRef": "R32-15" + }, + { + "id": 88, + "phase": "Round of 32", + "date": "2026-07-02", + "time": "22:00", + "stadium": "Estadio BBVA", + "city": "Monterrey", + "bracketRef": "R32-16" + }, + { + "id": 89, + "phase": "Round of 16", + "date": "2026-07-04", + "time": "17:00", + "stadium": "Rose Bowl", + "city": "Pasadena", + "bracketRef": "R16-1" + }, + { + "id": 90, + "phase": "Round of 16", + "date": "2026-07-04", + "time": "21:00", + "stadium": "Soldier Field", + "city": "Chicago", + "bracketRef": "R16-2" + }, + { + "id": 91, + "phase": "Round of 16", + "date": "2026-07-05", + "time": "17:00", + "stadium": "Lincoln Financial Field", + "city": "Philadelphia", + "bracketRef": "R16-3" + }, + { + "id": 92, + "phase": "Round of 16", + "date": "2026-07-05", + "time": "21:00", + "stadium": "Estadio Azteca", + "city": "Mexico City", + "bracketRef": "R16-4" + }, + { + "id": 93, + "phase": "Round of 16", + "date": "2026-07-06", + "time": "17:00", + "stadium": "Levi's Stadium", + "city": "San Francisco", + "bracketRef": "R16-5" + }, + { + "id": 94, + "phase": "Round of 16", + "date": "2026-07-06", + "time": "21:00", + "stadium": "NRG Stadium", + "city": "Houston", + "bracketRef": "R16-6" + }, + { + "id": 95, + "phase": "Round of 16", + "date": "2026-07-07", + "time": "17:00", + "stadium": "Raymond James Stadium", + "city": "Tampa", + "bracketRef": "R16-7" + }, + { + "id": 96, + "phase": "Round of 16", + "date": "2026-07-07", + "time": "21:00", + "stadium": "BC Place", + "city": "Vancouver", + "bracketRef": "R16-8" + }, + { + "id": 97, + "phase": "Quarterfinals", + "date": "2026-07-09", + "time": "17:00", + "stadium": "Estadio Jalisco", + "city": "Guadalajara", + "bracketRef": "QF-1" + }, + { + "id": 98, + "phase": "Quarterfinals", + "date": "2026-07-09", + "time": "21:00", + "stadium": "Empower Field", + "city": "Denver", + "bracketRef": "QF-2" + }, + { + "id": 99, + "phase": "Quarterfinals", + "date": "2026-07-10", + "time": "17:00", + "stadium": "Hard Rock Stadium", + "city": "Miami", + "bracketRef": "QF-3" + }, + { + "id": 100, + "phase": "Quarterfinals", + "date": "2026-07-10", + "time": "21:00", + "stadium": "BMO Field", + "city": "Toronto", + "bracketRef": "QF-4" + }, + { + "id": 101, + "phase": "Semifinals", + "date": "2026-07-14", + "time": "21:00", + "stadium": "Estadio Cuauhtemoc", + "city": "Puebla", + "bracketRef": "SF-1" + }, + { + "id": 102, + "phase": "Semifinals", + "date": "2026-07-15", + "time": "21:00", + "stadium": "Allegiant Stadium", + "city": "Las Vegas", + "bracketRef": "SF-2" + }, + { + "id": 103, + "phase": "Third Place", + "date": "2026-07-18", + "time": "17:00", + "stadium": "Caesars Superdome", + "city": "New Orleans", + "bracketRef": "THIRD-PLACE" + }, + { + "id": 104, + "phase": "Final", + "date": "2026-07-19", + "time": "19:00", + "stadium": "MetLife Stadium", + "city": "New York", + "bracketRef": "FINAL" + } +] diff --git a/data/results.json b/data/results.json new file mode 100644 index 0000000..611bfdd --- /dev/null +++ b/data/results.json @@ -0,0 +1,630 @@ +[ + { + "matchId": 1, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 2, + "homeScore": 1, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 3, + "homeScore": 3, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 4, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 5, + "homeScore": 4, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 6, + "homeScore": 0, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 7, + "homeScore": 1, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 8, + "homeScore": 2, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 9, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 10, + "homeScore": 0, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 11, + "homeScore": 4, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 12, + "homeScore": 2, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 13, + "homeScore": 3, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 14, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 15, + "homeScore": 3, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 16, + "homeScore": 1, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 17, + "homeScore": 2, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 18, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 19, + "homeScore": 4, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 20, + "homeScore": 2, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 21, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 22, + "homeScore": 4, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 23, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 24, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 25, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 26, + "homeScore": 4, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 27, + "homeScore": 2, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 28, + "homeScore": 3, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 29, + "homeScore": 4, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 30, + "homeScore": 0, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 31, + "homeScore": 2, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 32, + "homeScore": 1, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 33, + "homeScore": 0, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 34, + "homeScore": 1, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 35, + "homeScore": 3, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 36, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 37, + "homeScore": 2, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 38, + "homeScore": 1, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 39, + "homeScore": 4, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 40, + "homeScore": 4, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 41, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 42, + "homeScore": 3, + "awayScore": 2, + "status": "finished" + }, + { + "matchId": 43, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 44, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 45, + "homeScore": 3, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 46, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 47, + "homeScore": 2, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 48, + "homeScore": 0, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 49, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 50, + "homeScore": 4, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 51, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 52, + "homeScore": 4, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 53, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 54, + "homeScore": 3, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 55, + "homeScore": 0, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 56, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 57, + "homeScore": 4, + "awayScore": 3, + "status": "finished" + }, + { + "matchId": 58, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 59, + "homeScore": 2, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 60, + "homeScore": 1, + "awayScore": 1, + "status": "finished" + }, + { + "matchId": 61, + "homeScore": 1, + "awayScore": 0, + "status": "live" + }, + { + "matchId": 62, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 63, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 64, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 65, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 66, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 67, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 68, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 69, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 70, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 71, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 72, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 73, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 74, + "homeScore": 1, + "awayScore": 1, + "status": "finished", + "penalties": { + "home": 4, + "away": 3 + } + }, + { + "matchId": 75, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 76, + "homeScore": 2, + "awayScore": 0, + "status": "finished" + }, + { + "matchId": 77, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 78, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 79, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 80, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 81, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 82, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 83, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 84, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 85, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 86, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 87, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 88, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 89, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 90, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 91, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 92, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 93, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 94, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 95, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 96, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 97, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 98, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 99, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 100, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 101, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 102, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 103, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + }, + { + "matchId": 104, + "homeScore": null, + "awayScore": null, + "status": "scheduled" + } +] diff --git a/data/stadiums.json b/data/stadiums.json new file mode 100644 index 0000000..5677336 --- /dev/null +++ b/data/stadiums.json @@ -0,0 +1,242 @@ +[ + { + "id": 1, + "name": "Estadio Azteca", + "city": "Mexico City", + "capacity": 87000, + "image": "stadiums/azteca.svg", + "timezone": "America/Mexico_City" + }, + { + "id": 2, + "name": "Estadio Akron", + "city": "Guadalajara", + "capacity": 49850, + "image": "stadiums/akron.svg", + "timezone": "America/Mexico_City" + }, + { + "id": 3, + "name": "Estadio BBVA", + "city": "Monterrey", + "capacity": 53500, + "image": "stadiums/bbva.svg", + "timezone": "America/Monterrey" + }, + { + "id": 4, + "name": "Estadio Cuauhtemoc", + "city": "Puebla", + "capacity": 51726, + "image": "stadiums/cuauhtemoc.svg", + "timezone": "America/Mexico_City" + }, + { + "id": 5, + "name": "Estadio Universitario", + "city": "Monterrey", + "capacity": 42000, + "image": "stadiums/universitario.svg", + "timezone": "America/Monterrey" + }, + { + "id": 6, + "name": "Estadio Jalisco", + "city": "Guadalajara", + "capacity": 55020, + "image": "stadiums/jalisco.svg", + "timezone": "America/Mexico_City" + }, + { + "id": 7, + "name": "SoFi Stadium", + "city": "Los Angeles", + "capacity": 70240, + "image": "stadiums/sofi.svg", + "timezone": "America/Los_Angeles" + }, + { + "id": 8, + "name": "Levi's Stadium", + "city": "San Francisco", + "capacity": 68500, + "image": "stadiums/levis.svg", + "timezone": "America/Los_Angeles" + }, + { + "id": 9, + "name": "Lumen Field", + "city": "Seattle", + "capacity": 69000, + "image": "stadiums/lumen.svg", + "timezone": "America/Los_Angeles" + }, + { + "id": 10, + "name": "Rose Bowl", + "city": "Pasadena", + "capacity": 89702, + "image": "stadiums/rosebowl.svg", + "timezone": "America/Los_Angeles" + }, + { + "id": 11, + "name": "Allegiant Stadium", + "city": "Las Vegas", + "capacity": 65000, + "image": "stadiums/allegiant.svg", + "timezone": "America/Los_Angeles" + }, + { + "id": 12, + "name": "State Farm Stadium", + "city": "Phoenix", + "capacity": 63400, + "image": "stadiums/statefarm.svg", + "timezone": "America/Phoenix" + }, + { + "id": 13, + "name": "Empower Field", + "city": "Denver", + "capacity": 76125, + "image": "stadiums/empower.svg", + "timezone": "America/Denver" + }, + { + "id": 14, + "name": "AT&T Stadium", + "city": "Dallas", + "capacity": 80000, + "image": "stadiums/att.svg", + "timezone": "America/Chicago" + }, + { + "id": 15, + "name": "NRG Stadium", + "city": "Houston", + "capacity": 72220, + "image": "stadiums/nrg.svg", + "timezone": "America/Chicago" + }, + { + "id": 16, + "name": "Arrowhead Stadium", + "city": "Kansas City", + "capacity": 76416, + "image": "stadiums/arrowhead.svg", + "timezone": "America/Chicago" + }, + { + "id": 17, + "name": "Soldier Field", + "city": "Chicago", + "capacity": 61500, + "image": "stadiums/soldier.svg", + "timezone": "America/Chicago" + }, + { + "id": 18, + "name": "Caesars Superdome", + "city": "New Orleans", + "capacity": 73208, + "image": "stadiums/superdome.svg", + "timezone": "America/Chicago" + }, + { + "id": 19, + "name": "Mercedes-Benz Stadium", + "city": "Atlanta", + "capacity": 71000, + "image": "stadiums/mercedesbenz.svg", + "timezone": "America/New_York" + }, + { + "id": 20, + "name": "Hard Rock Stadium", + "city": "Miami", + "capacity": 64767, + "image": "stadiums/hardrock.svg", + "timezone": "America/New_York" + }, + { + "id": 21, + "name": "Camping World Stadium", + "city": "Orlando", + "capacity": 60219, + "image": "stadiums/campingworld.svg", + "timezone": "America/New_York" + }, + { + "id": 22, + "name": "Raymond James Stadium", + "city": "Tampa", + "capacity": 65890, + "image": "stadiums/raymondjames.svg", + "timezone": "America/New_York" + }, + { + "id": 23, + "name": "MetLife Stadium", + "city": "New York", + "capacity": 82500, + "image": "stadiums/metlife.svg", + "timezone": "America/New_York" + }, + { + "id": 24, + "name": "Lincoln Financial Field", + "city": "Philadelphia", + "capacity": 69796, + "image": "stadiums/lincoln.svg", + "timezone": "America/New_York" + }, + { + "id": 25, + "name": "Gillette Stadium", + "city": "Boston", + "capacity": 65878, + "image": "stadiums/gillette.svg", + "timezone": "America/New_York" + }, + { + "id": 26, + "name": "M&T Bank Stadium", + "city": "Baltimore", + "capacity": 71008, + "image": "stadiums/mtbank.svg", + "timezone": "America/New_York" + }, + { + "id": 27, + "name": "BMO Field", + "city": "Toronto", + "capacity": 45736, + "image": "stadiums/bmo.svg", + "timezone": "America/Toronto" + }, + { + "id": 28, + "name": "Olympic Stadium", + "city": "Montreal", + "capacity": 56040, + "image": "stadiums/olympic.svg", + "timezone": "America/Toronto" + }, + { + "id": 29, + "name": "BC Place", + "city": "Vancouver", + "capacity": 54500, + "image": "stadiums/bcplace.svg", + "timezone": "America/Vancouver" + }, + { + "id": 30, + "name": "Commonwealth Stadium", + "city": "Edmonton", + "capacity": 56302, + "image": "stadiums/commonwealth.svg", + "timezone": "America/Edmonton" + } +] diff --git a/data/teams.json b/data/teams.json new file mode 100644 index 0000000..bb65e69 --- /dev/null +++ b/data/teams.json @@ -0,0 +1,242 @@ +[ + { + "id": "MEX", + "name": "Mexico", + "flag": "flags/mex.svg" + }, + { + "id": "USA", + "name": "United States", + "flag": "flags/usa.svg" + }, + { + "id": "CAN", + "name": "Canada", + "flag": "flags/can.svg" + }, + { + "id": "BRA", + "name": "Brazil", + "flag": "flags/bra.svg" + }, + { + "id": "ARG", + "name": "Argentina", + "flag": "flags/arg.svg" + }, + { + "id": "URU", + "name": "Uruguay", + "flag": "flags/uru.svg" + }, + { + "id": "COL", + "name": "Colombia", + "flag": "flags/col.svg" + }, + { + "id": "ECU", + "name": "Ecuador", + "flag": "flags/ecu.svg" + }, + { + "id": "PAR", + "name": "Paraguay", + "flag": "flags/par.svg" + }, + { + "id": "CHI", + "name": "Chile", + "flag": "flags/chi.svg" + }, + { + "id": "FRA", + "name": "France", + "flag": "flags/fra.svg" + }, + { + "id": "ENG", + "name": "England", + "flag": "flags/eng.svg" + }, + { + "id": "ESP", + "name": "Spain", + "flag": "flags/esp.svg" + }, + { + "id": "GER", + "name": "Germany", + "flag": "flags/ger.svg" + }, + { + "id": "POR", + "name": "Portugal", + "flag": "flags/por.svg" + }, + { + "id": "NED", + "name": "Netherlands", + "flag": "flags/ned.svg" + }, + { + "id": "BEL", + "name": "Belgium", + "flag": "flags/bel.svg" + }, + { + "id": "ITA", + "name": "Italy", + "flag": "flags/ita.svg" + }, + { + "id": "CRO", + "name": "Croatia", + "flag": "flags/cro.svg" + }, + { + "id": "SUI", + "name": "Switzerland", + "flag": "flags/sui.svg" + }, + { + "id": "DEN", + "name": "Denmark", + "flag": "flags/den.svg" + }, + { + "id": "AUT", + "name": "Austria", + "flag": "flags/aut.svg" + }, + { + "id": "POL", + "name": "Poland", + "flag": "flags/pol.svg" + }, + { + "id": "SRB", + "name": "Serbia", + "flag": "flags/srb.svg" + }, + { + "id": "TUR", + "name": "Turkey", + "flag": "flags/tur.svg" + }, + { + "id": "SCO", + "name": "Scotland", + "flag": "flags/sco.svg" + }, + { + "id": "PAN", + "name": "Panama", + "flag": "flags/pan.svg" + }, + { + "id": "CRC", + "name": "Costa Rica", + "flag": "flags/crc.svg" + }, + { + "id": "JAM", + "name": "Jamaica", + "flag": "flags/jam.svg" + }, + { + "id": "HON", + "name": "Honduras", + "flag": "flags/hon.svg" + }, + { + "id": "JPN", + "name": "Japan", + "flag": "flags/jpn.svg" + }, + { + "id": "KOR", + "name": "South Korea", + "flag": "flags/kor.svg" + }, + { + "id": "AUS", + "name": "Australia", + "flag": "flags/aus.svg" + }, + { + "id": "IRN", + "name": "Iran", + "flag": "flags/irn.svg" + }, + { + "id": "KSA", + "name": "Saudi Arabia", + "flag": "flags/ksa.svg" + }, + { + "id": "QAT", + "name": "Qatar", + "flag": "flags/qat.svg" + }, + { + "id": "UZB", + "name": "Uzbekistan", + "flag": "flags/uzb.svg" + }, + { + "id": "JOR", + "name": "Jordan", + "flag": "flags/jor.svg" + }, + { + "id": "MAR", + "name": "Morocco", + "flag": "flags/mar.svg" + }, + { + "id": "SEN", + "name": "Senegal", + "flag": "flags/sen.svg" + }, + { + "id": "NGA", + "name": "Nigeria", + "flag": "flags/nga.svg" + }, + { + "id": "EGY", + "name": "Egypt", + "flag": "flags/egy.svg" + }, + { + "id": "ALG", + "name": "Algeria", + "flag": "flags/alg.svg" + }, + { + "id": "TUN", + "name": "Tunisia", + "flag": "flags/tun.svg" + }, + { + "id": "GHA", + "name": "Ghana", + "flag": "flags/gha.svg" + }, + { + "id": "CIV", + "name": "Ivory Coast", + "flag": "flags/civ.svg" + }, + { + "id": "CMR", + "name": "Cameroon", + "flag": "flags/cmr.svg" + }, + { + "id": "NZL", + "name": "New Zealand", + "flag": "flags/nzl.svg" + } +]