refactor: replace hardcoded hex colors with theme tokens, move data/ to root

- Add --color-green-mid token (#4a7a55) to @theme for dimmer stat values
- Replace all text-[#hex]/bg-[#hex] arbitrary values with named tokens:
  text-green, text-green-light, text-green-sec, text-green-muted,
  text-green-dark, text-green-mid, text-text, bg-card, bg-bg, border-border
- Replace rgba(34,197,94,X) inline styles with bg-green/X opacity modifiers
- Convert single-prop style={{ borderColor/background }} to className
- Fix SVG stroke="#dff5e8" → stroke="currentColor"
- Use CSS variables in globals.css base styles (background-color, color)
- Move app/data/wikipedia/ → data/ (project root, not inside Next.js app dir)
- Update Dockerfile, seed.ts, scrape-wikipedia.ts paths accordingly
- Remove unused app/data/world_cup.csv

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-15 18:08:23 +02:00
parent 187ee2e312
commit b141356247
125 changed files with 279 additions and 322 deletions
+76
View File
@@ -0,0 +1,76 @@
{
"groups": [
{
"name": "Group A",
"teams": [
"Russia",
"Saudi Arabia",
"Egypt",
"Uruguay"
]
},
{
"name": "Group B",
"teams": [
"Morocco",
"Iran",
"Portugal",
"Spain"
]
},
{
"name": "Group C",
"teams": [
"France",
"Australia",
"Peru",
"Denmark"
]
},
{
"name": "Group D",
"teams": [
"Argentina",
"Iceland",
"Croatia",
"Nigeria"
]
},
{
"name": "Group E",
"teams": [
"Costa Rica",
"Serbia",
"Brazil",
"Switzerland"
]
},
{
"name": "Group F",
"teams": [
"Germany",
"Mexico",
"Sweden",
"South Korea"
]
},
{
"name": "Group G",
"teams": [
"Belgium",
"Panama",
"Tunisia",
"England"
]
},
{
"name": "Group H",
"teams": [
"Colombia",
"Japan",
"Poland",
"Senegal"
]
}
]
}
File diff suppressed because it is too large Load Diff
+8
View File
@@ -0,0 +1,8 @@
{
"host": "Russia",
"teams_count": 32,
"winner": "France",
"runner_up": "Croatia",
"third_place": "Belgium",
"fourth_place": "England"
}
File diff suppressed because it is too large Load Diff
+52
View File
@@ -0,0 +1,52 @@
{
"stadiums": [
{
"name": "Kazan Arena",
"city": "Kazan"
},
{
"name": "Fisht Olympic Stadium",
"city": "Sochi"
},
{
"name": "Luzhniki Stadium",
"city": "Moscow"
},
{
"name": "Nizhny Novgorod Stadium",
"city": "Nizhny Novgorod"
},
{
"name": "Cosmos Arena",
"city": "Samara"
},
{
"name": "Rostov Arena",
"city": "Rostov-on-Don"
},
{
"name": "Krestovsky Stadium",
"city": "Saint Petersburg"
},
{
"name": "Otkritie Arena",
"city": "Moscow"
},
{
"name": "Central Stadium",
"city": "Yekaterinburg"
},
{
"name": "Volgograd Arena",
"city": "Volgograd"
},
{
"name": "Mordovia Arena",
"city": "Saransk"
},
{
"name": "Kaliningrad Stadium",
"city": "Kaliningrad"
}
]
}