Azivandor commited on
Commit
672417f
Β·
verified Β·
1 Parent(s): 07de6f9

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +60 -101
index.html CHANGED
@@ -3,31 +3,33 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>The Master PokΓ©dex</title>
7
  <link rel="stylesheet" href="style.css">
8
  <style>
9
- .pkmn-layout-container {
10
  display: flex;
11
  gap: 25px;
12
  align-items: flex-start;
13
  flex-wrap: wrap;
14
  }
15
- .pkmn-sprite {
16
- width: 150px;
17
- height: 150px;
18
- background-color: #0d151f;
19
- border-radius: 10px;
20
- border: 2px solid #24354a;
21
  display: flex;
22
  align-items: center;
23
  justify-content: center;
 
 
24
  }
25
- .pkmn-sprite img {
26
  width: 100%;
27
- height: auto;
28
- image-rendering: pixelated;
29
  }
30
- .description-block {
31
  flex: 1;
32
  min-width: 300px;
33
  }
@@ -36,138 +38,95 @@
36
  <body>
37
 
38
  <div class="container">
39
- <h1>πŸ”΄ The Master PokΓ©dex</h1>
40
- <div class="subtitle">Bypassing basic trivia to deliver exact competitive stats, catch mechanics, and regional lore.</div>
41
 
 
42
  <div class="nav-bar">
43
- <button class="nav-btn active" onclick="filterRegion('all', event)">All Regions</button>
44
- <button class="nav-btn" onclick="filterRegion('kanto', event)">Kanto</button>
45
  </div>
46
 
47
- <div class="pokedex-grid" id="dex-grid">
48
- <!-- JavaScript will safely render your content here -->
 
49
  </div>
50
  </div>
51
  <script>
52
- fetch('pokemon.json')
 
53
  .then(response => response.json())
54
  .then(data => {
55
- const grid = document.getElementById('dex-grid');
56
- grid.innerHTML = data.map(pkmn => `
57
- <div class="pokemon-card" data-region="${pkmn.region}" style="grid-column: 1 / -1; max-width: 100%;">
58
  <div class="pkmn-header">
59
- <h2 class="pkmn-name" style="font-size: 2rem;">${pkmn.name}</h2>
60
- <span class="pkmn-number" style="font-size: 1.5rem;">${pkmn.number}</span>
61
  </div>
62
 
63
  <div class="type-container">
64
- <span class="type-badge type-${pkmn.type1.toLowerCase()}">${pkmn.type1}</span>
65
  </div>
66
 
67
- <div class="pkmn-layout-container">
68
- <div class="pkmn-sprite">
69
- <img src="${pkmn.image_url}" alt="${pkmn.name}">
70
  </div>
71
- <div class="description-block">
72
  <p style="color: #cbd5e1; font-size: 1.05rem; margin: 0; line-height: 1.6;">
73
- <strong>Official Category:</strong> ${pkmn.category}<br><br>
74
- ${pkmn.description}
75
  </p>
76
  </div>
77
  </div>
78
 
79
- <button class="nav-btn" style="padding: 10px 20px; margin-top: 20px; margin-bottom: 15px;" onclick="toggleData('data-${pkmn.id}', event)">Access Ultimate Master Data Panel ↓</button>
80
 
81
- <div id="data-${pkmn.id}" class="deep-data hidden" style="padding: 20px;">
82
- <h3 style="margin-top:0;">πŸ“Š Physical, Regional, & Breeding Statistics</h3>
83
- <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 15px; margin-bottom: 20px;">
84
  <div>
85
- <strong>Height:</strong> ${pkmn.height}<br>
86
- <strong>Weight:</strong> ${pkmn.weight}<br>
87
- <strong>Abilities:</strong> ${pkmn.abilities}<br>
88
- <strong>Evolutionary Chain:</strong> ${pkmn.evolution}
89
  </div>
90
  <div>
91
- <strong>Egg Groups:</strong> ${pkmn.egg_groups}<br>
92
- <strong>Egg Cycles:</strong> ${pkmn.egg_cycles}<br>
93
- <strong>EV Yield:</strong> ${pkmn.ev_yield}<br>
94
- <strong>Catch Rate:</strong> ${pkmn.catch_rate}
95
  </div>
96
  <div>
97
- <strong>Base Friendship:</strong> ${pkmn.friendship}<br>
98
- <strong>Base Exp. Yield:</strong> ${pkmn.base_exp}<br>
99
- <strong>Regional Indices:</strong> ${pkmn.indices}
100
  </div>
101
  </div>
102
 
103
- <h3>βš”οΈ Precise Base Stats</h3>
104
- <div style="margin-bottom: 20px;">
105
- <div class="stat-line"><span class="stat-name">HP:</span> <span class="stat-val">${pkmn.hp}</span></div>
106
- <div class="stat-line"><span class="stat-name">Attack:</span> <span class="stat-val">${pkmn.atk}</span></div>
107
- <div class="stat-line"><span class="stat-name">Defense:</span> <span class="stat-val">${pkmn.def}</span></div>
108
- <div class="stat-line"><span class="stat-name">Special Attack:</span> <span class="stat-val">${pkmn.sp_atk}</span></div>
109
- <div class="stat-line"><span class="stat-name">Special Defense:</span> <span class="stat-val">${pkmn.sp_def}</span></div>
110
- <div class="stat-line"><span class="stat-name">Speed:</span> <span class="stat-val">${pkmn.speed}</span></div>
111
- <div class="special-note" style="background-color: #172535; border-color: #3b82f6;">
112
- πŸ“ˆ <strong>Game Variable Note:</strong> ${pkmn.game_note}
113
- </div>
114
- </div>
115
 
116
- <h3>πŸ›‘οΈ Type Effectiveness & Damage Multipliers</h3>
117
- <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 20px; font-size: 0.9rem;">
118
- <div style="background: #221616; padding: 10px; border-radius: 4px; border-left: 3px solid #ef4444;"><strong style="color:#fca5a5;">Weak to (2x):</strong> ${pkmn.weak}</div>
119
- <div style="background: #14221a; padding: 10px; border-radius: 4px; border-left: 3px solid #22c55e;"><strong style="color:#a7f3d0;">Resists (0.5x):</strong> ${pkmn.resist}</div>
120
- <div style="background: #1c1c1c; padding: 10px; border-radius: 4px; border-left: 3px solid #94a3b8;"><strong style="color:#cbd5e1;">Immune to (0x):</strong> ${pkmn.immune}</div>
121
- <div style="background: #151e29; padding: 10px; border-radius: 4px; border-left: 3px solid #3b82f6;"><strong style="color:#93c5fd;">Damaged Normally (1x):</strong> ${pkmn.normal}</div>
122
- </div>
123
-
124
- <h3>🌍 Video Game Inclusion & Habitats</h3>
125
- <p style="font-size: 0.9rem; color: #cbd5e1;">
126
- <strong>Included Games:</strong> ${pkmn.games}<br>
127
- <strong>Natural Habitats:</strong> ${pkmn.habitat}
128
- </p>
129
 
130
- <h3>βš”οΈ Master Move Learnset (Level Up & Egg Moves)</h3>
131
- <table style="width: 100%; border-collapse: collapse; font-size: 0.85rem; background: #111a24; border-radius: 6px; overflow: hidden; margin-bottom: 20px;">
132
- <thead>
133
- <tr style="background: #1e2d3d; text-align: left;">
134
- <th style="padding: 8px;">Lv.</th>
135
- <th style="padding: 8px;">Move Name</th>
136
- <th style="padding: 8px;">Type</th>
137
- <th style="padding: 8px;">Cat.</th>
138
- <th style="padding: 8px;">Power</th>
139
- <th style="padding: 8px;">Acc.</th>
140
- </tr>
141
- </thead>
142
- <tbody>
143
- ${pkmn.moves.map(move => `
144
- <tr style="border-bottom: 1px solid #1e293b; ${move.level === 'Egg' ? 'background: #1a231b;' : ''}">
145
- <td style="padding: 8px; color: ${move.level === 'Egg' ? '#a7f3d0;' : '#cbd5e1;'}">${move.level}</td>
146
- <td style="padding: 8px; font-weight: bold;">${move.name}</td>
147
- <td style="padding: 8px;">${move.type}</td>
148
- <td style="padding: 8px;">${move.cat}</td>
149
- <td style="padding: 8px;">${move.power}</td>
150
- <td style="padding: 8px;">${move.acc}</td>
151
- </tr>
152
- `).join('')}
153
- </tbody>
154
- </table>
155
 
156
- <h3>πŸ“– Historical Field Narrative</h3>
157
- <p style="font-size: 0.95rem; line-height: 1.6; color: #cbd5e1; border-top: 1px solid #24354a; padding-top: 10px; font-style: italic;">
158
- ${pkmn.story}
159
  </p>
160
  </div>
161
  </div>
162
  `).join('');
163
  });
164
 
165
- function toggleData(id, event) {
166
  event.stopPropagation();
167
  document.getElementById(id).classList.toggle('hidden');
168
  }
169
 
170
- function filterRegion(region, event) {
171
  const buttons = document.querySelectorAll('.nav-bar .nav-btn');
172
  buttons.forEach(btn => btn.classList.remove('active'));
173
  event.target.classList.add('active');
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>The Master Global Atlas</title>
7
  <link rel="stylesheet" href="style.css">
8
  <style>
9
+ .atlas-layout {
10
  display: flex;
11
  gap: 25px;
12
  align-items: flex-start;
13
  flex-wrap: wrap;
14
  }
15
+ .flag-box {
16
+ width: 160px;
17
+ height: 100px;
18
+ background-color: #0b0f19;
19
+ border-radius: 6px;
20
+ border: 1px solid #1e293b;
21
  display: flex;
22
  align-items: center;
23
  justify-content: center;
24
+ overflow: hidden;
25
+ box-shadow: 0 4px 10px rgba(0,0,0,0.3);
26
  }
27
+ .flag-box img {
28
  width: 100%;
29
+ height: 100%;
30
+ object-fit: cover;
31
  }
32
+ .atlas-desc {
33
  flex: 1;
34
  min-width: 300px;
35
  }
 
38
  <body>
39
 
40
  <div class="container">
41
+ <h1>🌐 The Master Global Atlas</h1>
42
+ <div class="subtitle">An uncompromised deep dive into the history, geopolitical anomalies, and cultural realities of Earth.</div>
43
 
44
+ <!-- NAVIGATION REGIONS -->
45
  <div class="nav-bar">
46
+ <button class="nav-btn active" onclick="filterContinent('all', event)">All Continents</button>
47
+ <button class="nav-btn" onclick="filterContinent('europe', event)">Europe</button>
48
  </div>
49
 
50
+ <!-- ATLAS GRID TARGET -->
51
+ <div class="pokedex-grid" id="atlas-grid">
52
+ <!-- JavaScript Engine will build entries here -->
53
  </div>
54
  </div>
55
  <script>
56
+ // Automatically fetch data from your spreadsheet
57
+ fetch('atlas.json')
58
  .then(response => response.json())
59
  .then(data => {
60
+ const grid = document.getElementById('atlas-grid');
61
+ grid.innerHTML = data.map(country => `
62
+ <div class="pokemon-card" data-region="${country.region}" style="grid-column: 1 / -1; max-width: 100%;">
63
  <div class="pkmn-header">
64
+ <h2 class="pkmn-name">${country.name}</h2>
65
+ <span style="color: #64748b; font-weight: bold; font-family: monospace;">CAPITAL: ${country.capital}</span>
66
  </div>
67
 
68
  <div class="type-container">
69
+ <span class="type-badge">${country.category}</span>
70
  </div>
71
 
72
+ <div class="atlas-layout">
73
+ <div class="flag-box">
74
+ <img src="${country.flag_url}" alt="Flag of ${country.name}">
75
  </div>
76
+ <div class="atlas-desc">
77
  <p style="color: #cbd5e1; font-size: 1.05rem; margin: 0; line-height: 1.6;">
78
+ ${country.description}
 
79
  </p>
80
  </div>
81
  </div>
82
 
83
+ <button class="nav-btn" style="padding: 10px 22px; margin-top: 25px; margin-bottom: 10px;" onclick="togglePanel('view-${country.id}', event)">Access Ultimate Master Data Panel ↓</button>
84
 
85
+ <div id="view-${country.id}" class="deep-data hidden">
86
+ <h3 style="color: #38bdf8; margin-top: 0;">πŸ“Š Vital National Statistics</h3>
87
+ <div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 15px; margin-bottom: 20px;">
88
  <div>
89
+ <strong>Total Land Area:</strong> ${country.area}<br>
90
+ <strong>Total Population:</strong> ${country.population}<br>
91
+ <strong>Official Languages:</strong> ${country.languages}
 
92
  </div>
93
  <div>
94
+ <strong>National Currency:</strong> ${country.currency}<br>
95
+ <strong>System of Government:</strong> ${country.government}<br>
96
+ <strong>Independence Milestone:</strong> ${country.independence}
 
97
  </div>
98
  <div>
99
+ <strong>Nominal GDP:</strong> ${country.gdp}<br>
100
+ <strong>Human Dev. Index (HDI):</strong> ${country.hdi}<br>
101
+ <strong>Regional Topography:</strong> ${country.topography}
102
  </div>
103
  </div>
104
 
105
+ <h3 style="color: #38bdf8;">πŸ›‘οΈ Demographics & Climate Systems</h3>
106
+ <div class="stat-line"><span class="stat-name">Ethnic/Religious Matrix:</span> <span class="stat-val">${country.demographics}</span></div>
107
+ <div class="stat-line"><span class="stat-name">Climate Classifications:</span> <span class="stat-val">${country.climate}</span></div>
 
 
 
 
 
 
 
 
 
108
 
109
+ <h3 style="color: #38bdf8;">πŸ—ΊοΈ Geopolitical Anomalies & Border Quirks</h3>
110
+ <p style="color: #cbd5e1; font-size: 0.95rem; margin-bottom: 20px;">${country.border_anomalies}</p>
 
 
 
 
 
 
 
 
 
 
 
111
 
112
+ <h3 style="color: #38bdf8;">πŸ“œ Comprehensive Historical Narrative</h3>
113
+ <p style="color: #cbd5e1; font-size: 0.95rem; margin-bottom: 20px; line-height: 1.6;">${country.history_summary}</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
114
 
115
+ <h3 style="color: #38bdf8;">πŸ“– Field Accounts & Cultural Narrative</h3>
116
+ <p style="font-size: 0.95rem; line-height: 1.6; color: #94a3b8; border-top: 1px solid #1e293b; padding-top: 15px; font-style: italic; margin: 0;">
117
+ ${country.story}
118
  </p>
119
  </div>
120
  </div>
121
  `).join('');
122
  });
123
 
124
+ function togglePanel(id, event) {
125
  event.stopPropagation();
126
  document.getElementById(id).classList.toggle('hidden');
127
  }
128
 
129
+ function filterContinent(region, event) {
130
  const buttons = document.querySelectorAll('.nav-bar .nav-btn');
131
  buttons.forEach(btn => btn.classList.remove('active'));
132
  event.target.classList.add('active');