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:
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"groups": [
|
||||
{
|
||||
"name": "Group A",
|
||||
"teams": [
|
||||
"France",
|
||||
"Senegal",
|
||||
"Uruguay",
|
||||
"Denmark"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group B",
|
||||
"teams": [
|
||||
"Paraguay",
|
||||
"South Africa",
|
||||
"Spain",
|
||||
"Slovenia"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group C",
|
||||
"teams": [
|
||||
"Brazil",
|
||||
"Turkey",
|
||||
"China",
|
||||
"Costa Rica"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group D",
|
||||
"teams": [
|
||||
"South Korea",
|
||||
"Poland",
|
||||
"United States",
|
||||
"Portugal"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group E",
|
||||
"teams": [
|
||||
"Republic of Ireland",
|
||||
"Cameroon",
|
||||
"Germany",
|
||||
"Saudi Arabia"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group F",
|
||||
"teams": [
|
||||
"Argentina",
|
||||
"Nigeria",
|
||||
"England",
|
||||
"Sweden"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group G",
|
||||
"teams": [
|
||||
"Croatia",
|
||||
"Mexico",
|
||||
"Italy",
|
||||
"Ecuador"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "Group H",
|
||||
"teams": [
|
||||
"Japan",
|
||||
"Belgium",
|
||||
"Russia",
|
||||
"Tunisia"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"host": "Japan / South Korea",
|
||||
"teams_count": 32,
|
||||
"winner": "Brazil",
|
||||
"runner_up": "Germany",
|
||||
"third_place": "Turkey",
|
||||
"fourth_place": "South Korea"
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"stadiums": [
|
||||
{
|
||||
"name": "Jeju World Cup Stadium",
|
||||
"city": "Seogwipo"
|
||||
},
|
||||
{
|
||||
"name": "Big Swan Stadium",
|
||||
"city": "Niigata"
|
||||
},
|
||||
{
|
||||
"name": "Big Eye Stadium",
|
||||
"city": "Ōita"
|
||||
},
|
||||
{
|
||||
"name": "Suwon World Cup Stadium",
|
||||
"city": "Suwon"
|
||||
},
|
||||
{
|
||||
"name": "Jeonju World Cup Stadium",
|
||||
"city": "Jeonju"
|
||||
},
|
||||
{
|
||||
"name": "Kobe Wing Stadium",
|
||||
"city": "Kobe"
|
||||
},
|
||||
{
|
||||
"name": "Miyagi Stadium",
|
||||
"city": "Rifu"
|
||||
},
|
||||
{
|
||||
"name": "Daejeon World Cup Stadium",
|
||||
"city": "Daejeon"
|
||||
},
|
||||
{
|
||||
"name": "Stadium Ecopa",
|
||||
"city": "Fukuroi"
|
||||
},
|
||||
{
|
||||
"name": "Munsu Cup Stadium",
|
||||
"city": "Ulsan"
|
||||
},
|
||||
{
|
||||
"name": "Gwangju World Cup Stadium",
|
||||
"city": "Gwangju"
|
||||
},
|
||||
{
|
||||
"name": "Nagai Stadium",
|
||||
"city": "Osaka"
|
||||
},
|
||||
{
|
||||
"name": "Seoul World Cup Stadium",
|
||||
"city": "Seoul"
|
||||
},
|
||||
{
|
||||
"name": "Saitama Stadium",
|
||||
"city": "Saitama"
|
||||
},
|
||||
{
|
||||
"name": "Daegu World Cup Stadium",
|
||||
"city": "Daegu"
|
||||
},
|
||||
{
|
||||
"name": "International Stadium",
|
||||
"city": "Yokohama"
|
||||
},
|
||||
{
|
||||
"name": "Busan Asiad Main Stadium",
|
||||
"city": "Busan"
|
||||
},
|
||||
{
|
||||
"name": "Incheon World Cup Stadium",
|
||||
"city": "Incheon"
|
||||
},
|
||||
{
|
||||
"name": "Munsu Football Stadium",
|
||||
"city": "Ulsan"
|
||||
},
|
||||
{
|
||||
"name": "Niigata Stadium",
|
||||
"city": "Niigata"
|
||||
},
|
||||
{
|
||||
"name": "Sapporo Dome",
|
||||
"city": "Sapporo"
|
||||
},
|
||||
{
|
||||
"name": "Kashima Soccer Stadium",
|
||||
"city": "Ibaraki"
|
||||
},
|
||||
{
|
||||
"name": "Ecopa Stadium",
|
||||
"city": "Shizuoka"
|
||||
},
|
||||
{
|
||||
"name": "International Stadium Yokohama",
|
||||
"city": "Yokohama"
|
||||
},
|
||||
{
|
||||
"name": "Wing Stadium",
|
||||
"city": "Kobe"
|
||||
},
|
||||
{
|
||||
"name": "Niigata Big Swan Stadium",
|
||||
"city": "Niigata"
|
||||
},
|
||||
{
|
||||
"name": "Ōita Big Eye Stadium",
|
||||
"city": "Ōita"
|
||||
},
|
||||
{
|
||||
"name": "Shizuoka Ecopa Stadium",
|
||||
"city": "Fukuroi, Shizuoka"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user