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,601 @@
|
||||
{
|
||||
"matches": [
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Spain",
|
||||
"team2": "Brazil",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Iraragorri",
|
||||
"minute": 18,
|
||||
"penalty": true
|
||||
},
|
||||
{
|
||||
"name": "Iraragorri",
|
||||
"minute": 25
|
||||
},
|
||||
{
|
||||
"name": "Lángara",
|
||||
"minute": 29
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Leônidas",
|
||||
"minute": 55
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Luigi Ferraris, Genoa"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Hungary",
|
||||
"team2": "Egypt",
|
||||
"score": {
|
||||
"ft": [
|
||||
4,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Teleki",
|
||||
"minute": 11
|
||||
},
|
||||
{
|
||||
"name": "Toldi",
|
||||
"minute": 31
|
||||
},
|
||||
{
|
||||
"name": "Toldi",
|
||||
"minute": 61
|
||||
},
|
||||
{
|
||||
"name": "Vincze",
|
||||
"minute": 53
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Fawzi",
|
||||
"minute": 35
|
||||
},
|
||||
{
|
||||
"name": "Fawzi",
|
||||
"minute": 39
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Giorgio Ascarelli, Naples"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Switzerland",
|
||||
"team2": "Netherlands",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Kielholz",
|
||||
"minute": 7
|
||||
},
|
||||
{
|
||||
"name": "Kielholz",
|
||||
"minute": 43
|
||||
},
|
||||
{
|
||||
"name": "Abegglen",
|
||||
"minute": 66
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Smit",
|
||||
"minute": 29
|
||||
},
|
||||
{
|
||||
"name": "Vente",
|
||||
"minute": 69
|
||||
}
|
||||
],
|
||||
"ground": "Stadio San Siro, Milan"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Italy",
|
||||
"team2": "United States",
|
||||
"score": {
|
||||
"ft": [
|
||||
7,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Schiavio",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Schiavio",
|
||||
"minute": 29
|
||||
},
|
||||
{
|
||||
"name": "Schiavio",
|
||||
"minute": 64
|
||||
},
|
||||
{
|
||||
"name": "Orsi",
|
||||
"minute": 20
|
||||
},
|
||||
{
|
||||
"name": "Orsi",
|
||||
"minute": 69
|
||||
},
|
||||
{
|
||||
"name": "Ferrari",
|
||||
"minute": 63
|
||||
},
|
||||
{
|
||||
"name": "Meazza",
|
||||
"minute": 90
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Donelli",
|
||||
"minute": 57
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Nazionale PNF, Rome"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Czechoslovakia",
|
||||
"team2": "Romania",
|
||||
"score": {
|
||||
"ft": [
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Puč",
|
||||
"minute": 50
|
||||
},
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"minute": 67
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Dobay",
|
||||
"minute": 11
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Littorio, Trieste"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Sweden",
|
||||
"team2": "Argentina",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Jonasson",
|
||||
"minute": 9
|
||||
},
|
||||
{
|
||||
"name": "Jonasson",
|
||||
"minute": 67
|
||||
},
|
||||
{
|
||||
"name": "Kroon",
|
||||
"minute": 79
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Belis",
|
||||
"minute": 4
|
||||
},
|
||||
{
|
||||
"name": "Galateo",
|
||||
"minute": 48
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Littoriale, Bologna"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Austria",
|
||||
"team2": "France",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"et": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Sindelar",
|
||||
"minute": 44
|
||||
},
|
||||
{
|
||||
"name": "Schall",
|
||||
"minute": 93
|
||||
},
|
||||
{
|
||||
"name": "Bican",
|
||||
"minute": 109
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Nicolas",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Verriest",
|
||||
"minute": 116,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Benito Mussolini, Turin"
|
||||
},
|
||||
{
|
||||
"round": "Round of 16",
|
||||
"date": "1934-05-27",
|
||||
"time": "16:00",
|
||||
"team1": "Germany",
|
||||
"team2": "Belgium",
|
||||
"score": {
|
||||
"ft": [
|
||||
5,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Kobierski",
|
||||
"minute": 25
|
||||
},
|
||||
{
|
||||
"name": "Siffling",
|
||||
"minute": 49
|
||||
},
|
||||
{
|
||||
"name": "Conen",
|
||||
"minute": 66
|
||||
},
|
||||
{
|
||||
"name": "Conen",
|
||||
"minute": 70
|
||||
},
|
||||
{
|
||||
"name": "Conen",
|
||||
"minute": 87
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Voorhoof",
|
||||
"minute": 29
|
||||
},
|
||||
{
|
||||
"name": "Voorhoof",
|
||||
"minute": 43
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Giovanni Berta, Florence"
|
||||
},
|
||||
{
|
||||
"round": "Quarter-finals",
|
||||
"date": "1934-05-31",
|
||||
"time": "16:30",
|
||||
"team1": "Austria",
|
||||
"team2": "Hungary",
|
||||
"score": {
|
||||
"ft": [
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Horvath",
|
||||
"minute": 8
|
||||
},
|
||||
{
|
||||
"name": "Zischek",
|
||||
"minute": 51
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Sárosi",
|
||||
"minute": 60,
|
||||
"penalty": true
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Littoriale, Bologna"
|
||||
},
|
||||
{
|
||||
"round": "Quarter-finals",
|
||||
"date": "1934-05-31",
|
||||
"time": "16:30",
|
||||
"team1": "Italy",
|
||||
"team2": "Spain",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"et": [
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Ferrari",
|
||||
"minute": 44
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Regueiro",
|
||||
"minute": 30
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Giovanni Berta, Florence"
|
||||
},
|
||||
{
|
||||
"round": "Quarter-finals",
|
||||
"date": "1934-05-31",
|
||||
"time": "16:30",
|
||||
"team1": "Germany",
|
||||
"team2": "Sweden",
|
||||
"score": {
|
||||
"ft": [
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Hohmann",
|
||||
"minute": 60
|
||||
},
|
||||
{
|
||||
"name": "Hohmann",
|
||||
"minute": 63
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Dunker",
|
||||
"minute": 82
|
||||
}
|
||||
],
|
||||
"ground": "Stadio San Siro, Milan"
|
||||
},
|
||||
{
|
||||
"round": "Quarter-finals",
|
||||
"date": "1934-05-31",
|
||||
"time": "16:30",
|
||||
"team1": "Czechoslovakia",
|
||||
"team2": "Switzerland",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Svoboda",
|
||||
"minute": 24
|
||||
},
|
||||
{
|
||||
"name": "Sobotka",
|
||||
"minute": 49
|
||||
},
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"minute": 82
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Kielholz",
|
||||
"minute": 18
|
||||
},
|
||||
{
|
||||
"name": "Jäggi",
|
||||
"minute": 78
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Benito Mussolini, Turin"
|
||||
},
|
||||
{
|
||||
"round": "Quarter-finals",
|
||||
"date": "1934-06-01",
|
||||
"time": "16:30",
|
||||
"team1": "Italy",
|
||||
"team2": "Spain",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Meazza",
|
||||
"minute": 11
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Giovanni Berta, Florence"
|
||||
},
|
||||
{
|
||||
"round": "Semi-finals",
|
||||
"date": "1934-06-03",
|
||||
"time": "16:30",
|
||||
"team1": "Italy",
|
||||
"team2": "Austria",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
0
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Guaita",
|
||||
"minute": 19
|
||||
}
|
||||
],
|
||||
"ground": "Stadio San Siro, Milan"
|
||||
},
|
||||
{
|
||||
"round": "Semi-finals",
|
||||
"date": "1934-06-03",
|
||||
"time": "16:30",
|
||||
"team1": "Czechoslovakia",
|
||||
"team2": "Germany",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"minute": 21
|
||||
},
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"minute": 69
|
||||
},
|
||||
{
|
||||
"name": "Nejedlý",
|
||||
"minute": 80
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Noack",
|
||||
"minute": 62
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Nazionale PNF, Rome"
|
||||
},
|
||||
{
|
||||
"round": "Third-place match",
|
||||
"date": "1934-06-07",
|
||||
"time": "18:00",
|
||||
"team1": "Germany",
|
||||
"team2": "Austria",
|
||||
"score": {
|
||||
"ft": [
|
||||
3,
|
||||
2
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Lehner",
|
||||
"minute": 1
|
||||
},
|
||||
{
|
||||
"name": "Lehner",
|
||||
"minute": 42
|
||||
},
|
||||
{
|
||||
"name": "Conen",
|
||||
"minute": 27
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Horvath",
|
||||
"minute": 28
|
||||
},
|
||||
{
|
||||
"name": "Sesta",
|
||||
"minute": 54
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Giorgio Ascarelli, Naples"
|
||||
},
|
||||
{
|
||||
"round": "Final",
|
||||
"date": "1934-06-10",
|
||||
"time": "15:30",
|
||||
"team1": "Italy",
|
||||
"team2": "Czechoslovakia",
|
||||
"score": {
|
||||
"ft": [
|
||||
1,
|
||||
1
|
||||
],
|
||||
"et": [
|
||||
2,
|
||||
1
|
||||
]
|
||||
},
|
||||
"goals1": [
|
||||
{
|
||||
"name": "Orsi",
|
||||
"minute": 81
|
||||
},
|
||||
{
|
||||
"name": "Schiavio",
|
||||
"minute": 95
|
||||
}
|
||||
],
|
||||
"goals2": [
|
||||
{
|
||||
"name": "Puč",
|
||||
"minute": 71
|
||||
}
|
||||
],
|
||||
"ground": "Stadio Nazionale PNF, Rome"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
{
|
||||
"host": "Italy",
|
||||
"teams_count": 16,
|
||||
"winner": "Italy",
|
||||
"runner_up": "Czechoslovakia",
|
||||
"third_place": "Germany",
|
||||
"fourth_place": "Austria"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"stadiums": [
|
||||
{
|
||||
"name": "Stadio Luigi Ferraris",
|
||||
"city": "Genoa"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Giorgio Ascarelli",
|
||||
"city": "Naples"
|
||||
},
|
||||
{
|
||||
"name": "Stadio San Siro",
|
||||
"city": "Milan"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Nazionale PNF",
|
||||
"city": "Rome"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Littorio",
|
||||
"city": "Trieste"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Littoriale",
|
||||
"city": "Bologna"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Benito Mussolini",
|
||||
"city": "Turin"
|
||||
},
|
||||
{
|
||||
"name": "Stadio Giovanni Berta",
|
||||
"city": "Florence"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user