cyrilsnare commited on
Commit
ebb6fdf
·
verified ·
1 Parent(s): 0513862

Build all the components in an 8bit style, using 8bitcn/ui components or a similar component library for the styling: https://www.8bitcn.com/docs/components/badge

Browse files
Files changed (1) hide show
  1. index.html +132 -56
index.html CHANGED
@@ -10,49 +10,52 @@
10
  <script src="https://unpkg.com/feather-icons"></script>
11
  <script src="https://d3js.org/d3.v7.min.js"></script>
12
  <script src="https://cdn.jsdelivr.net/npm/@tsparticles/confetti@3.0.3/tsparticles.confetti.bundle.min.js"></script>
13
- <script src="https://unpkg.com/@serenity-ui/core@latest/dist/serenity-ui.js"></script>
14
- <link rel="stylesheet" href="https://unpkg.com/@serenity-ui/core@latest/dist/serenity-ui.css">
15
- <script src="https://unpkg.com/aceternity-ui@latest/dist/aceternity-ui.js"></script>
16
  <style>
17
  .world-map {
18
  width: 100%;
19
  height: 600px;
20
- background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
 
 
21
  }
22
 
23
  .country:hover {
24
- stroke: #ffffff;
25
  stroke-width: 2px;
26
- filter: brightness(1.2);
27
  }
28
 
29
  .heat-gradient {
30
- stop-color: #3b82f6;
31
- stop-opacity: 0.3;
32
  }
33
 
34
  .heat-gradient-stop-2 {
35
- stop-color: #8b5cf6;
36
- stop-opacity: 0.6;
37
  }
38
 
39
  .heat-gradient-stop-3 {
40
- stop-color: #ec4899;
41
- stop-opacity: 0.9;
42
  }
43
 
44
  .pulse-ring {
45
- animation: pulse 2s infinite;
 
46
  }
47
 
48
  @keyframes pulse {
49
  0% { transform: scale(0.8); opacity: 1; }
50
- 70% { transform: scale(1.2); opacity: 0.7; }
51
  100% { transform: scale(0.8); opacity: 1; }
52
  }
53
 
54
  .ticker-item {
55
- animation: ticker-scroll 30s linear infinite;
 
56
  }
57
 
58
  @keyframes ticker-scroll {
@@ -60,106 +63,179 @@
60
  100% { transform: translateX(-100%); }
61
  }
62
 
63
- .glass-effect {
64
- background: rgba(255, 255, 255, 0.1);
65
- backdrop-filter: blur(10px);
66
- border: 1px solid rgba(255, 255, 255, 0.2);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
 
69
- .dark .glass-effect {
70
- background: rgba(15, 23, 42, 0.7);
71
- border: 1px solid rgba(255, 255, 255, 0.1);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
72
  }
73
  </style>
74
  </head>
75
- <body class="bg-gray-50 dark:bg-slate-900 text-slate-900 dark:text-slate-100 transition-colors duration-300">
76
  <!-- Theme Toggler -->
77
  <div class="fixed top-4 right-4 z-50">
78
- <button id="themeToggle" class="p-3 rounded-full glass-effect shadow-lg hover:scale-110 transition-transform">
79
  <i data-feather="moon" class="hidden dark:block"></i>
80
  <i data-feather="sun" class="dark:hidden"></i>
81
  </button>
82
  </div>
83
-
84
- <!-- Main Layout -->
85
  <div class="min-h-screen flex">
86
  <!-- Sidebar -->
87
- <aside class="w-64 glass-effect rounded-r-2xl shadow-xl p-6 fixed h-screen z-40">
88
  <div class="flex items-center space-x-3 mb-8">
89
- <div class="w-10 h-10 bg-gradient-to-r from-blue-500 to-purple-600 rounded-lg flex items-center justify-center">
90
- <i data-feather="activity" class="text-white"></i>
91
  </div>
92
- <h1 class="text-xl font-bold">EventScrape</h1>
93
  </div>
94
 
95
  <nav class="space-y-2">
96
- <a href="#" class="flex items-center space-x-3 p-3 rounded-lg bg-blue-500/20 text-blue-600 dark:text-blue-400">
97
  <i data-feather="home"></i>
98
- <span>Dashboard</span>
99
  </a>
100
- <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-slate-200/50 dark:hover:bg-slate-700/50">
101
  <i data-feather="compass"></i>
102
- <span>Scrape Runs</span>
103
  </a>
104
- <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-slate-200/50 dark:hover:bg-slate-700/50">
105
  <i data-feather="database"></i>
106
- <span>Data Management</span>
107
  </a>
108
- <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-slate-200/50 dark:hover:bg-slate-700/50">
109
  <i data-feather="bar-chart-2"></i>
110
- <span>Analytics</span>
111
  </a>
112
- <a href="#" class="flex items-center space-x-3 p-3 rounded-lg hover:bg-slate-200/50 dark:hover:bg-slate-700/50">
113
  <i data-feather="settings"></i>
114
- <span>Settings</span>
115
  </a>
116
  </nav>
117
 
118
  <!-- Map Filters -->
119
  <div class="mt-8">
120
- <h3 class="font-semibold mb-4">Map Layers</h3>
121
  <div class="space-y-2">
122
  <label class="flex items-center space-x-3">
123
- <input type="checkbox" checked class="rounded border-slate-300" data-layer="events">
124
- <span>Event Count</span>
125
  </label>
126
  <label class="flex items-center space-x-3">
127
- <input type="checkbox" class="rounded border-slate-300" data-layer="music">
128
- <span>Music Styles</span>
129
  </label>
130
  <label class="flex items-center space-x-3">
131
- <input type="checkbox" class="rounded border-slate-300" data-layer="capacity">
132
- <span>Venue Capacity</span>
133
  </label>
134
  </div>
135
  </div>
136
  </aside>
137
-
138
- <!-- Main Content -->
139
  <main class="flex-1 ml-64 p-6">
140
  <!-- Header with Alerts Ticker -->
141
  <header class="mb-8">
142
- <div class="glass-effect rounded-xl p-4 mb-4 overflow-hidden">
143
  <div class="flex items-center space-x-4">
144
- <i data-feather="alert-circle" class="text-red-500"></i>
145
  <div class="flex-1 overflow-hidden">
146
  <div class="ticker-container whitespace-nowrap">
147
  <div class="ticker-item inline-block px-4">
148
- 🚨 High latency detected in North American scrapers
149
  </div>
150
  <div class="ticker-item inline-block px-4">
151
- Plugin v2.3.1 successfully deployed
152
  </div>
153
  <div class="ticker-item inline-block px-4">
154
- Real-time sync active across all regions
155
  </div>
156
  </div>
157
  </div>
158
  </div>
159
  </div>
160
  </header>
161
-
162
- <!-- KPI Cards Grid -->
163
  <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
164
  <!-- Events Scraped -->
165
  <div class="glass-effect rounded-xl p-6 relative overflow-hidden">
 
10
  <script src="https://unpkg.com/feather-icons"></script>
11
  <script src="https://d3js.org/d3.v7.min.js"></script>
12
  <script src="https://cdn.jsdelivr.net/npm/@tsparticles/confetti@3.0.3/tsparticles.confetti.bundle.min.js"></script>
13
+ <link href="https://cdn.jsdelivr.net/npm/8bitcn-ui@latest/dist/8bitcn-ui.css" rel="stylesheet">
14
+ <script src="https://cdn.jsdelivr.net/npm/8bitcn-ui@latest/dist/8bitcn-ui.js"></script>
 
15
  <style>
16
  .world-map {
17
  width: 100%;
18
  height: 600px;
19
+ background: #000;
20
+ border: 4px solid #00ff00;
21
+ image-rendering: pixelated;
22
  }
23
 
24
  .country:hover {
25
+ stroke: #ffff00;
26
  stroke-width: 2px;
27
+ filter: brightness(1.5);
28
  }
29
 
30
  .heat-gradient {
31
+ stop-color: #00ff00;
32
+ stop-opacity: 0.6;
33
  }
34
 
35
  .heat-gradient-stop-2 {
36
+ stop-color: #ffff00;
37
+ stop-opacity: 0.8;
38
  }
39
 
40
  .heat-gradient-stop-3 {
41
+ stop-color: #ff0000;
42
+ stop-opacity: 1;
43
  }
44
 
45
  .pulse-ring {
46
+ animation: pulse 1s infinite;
47
+ image-rendering: pixelated;
48
  }
49
 
50
  @keyframes pulse {
51
  0% { transform: scale(0.8); opacity: 1; }
52
+ 50% { transform: scale(1.2); opacity: 0.7; }
53
  100% { transform: scale(0.8); opacity: 1; }
54
  }
55
 
56
  .ticker-item {
57
+ animation: ticker-scroll 20s linear infinite;
58
+ font-family: 'Courier New', monospace;
59
  }
60
 
61
  @keyframes ticker-scroll {
 
63
  100% { transform: translateX(-100%); }
64
  }
65
 
66
+ .pixel-border {
67
+ border: 4px solid #00ff00;
68
+ border-image: repeating-linear-gradient(45deg, #00ff00, #00ff00 4px, #000 4px, #000 8px) 4;
69
+ image-rendering: pixelated;
70
+ }
71
+
72
+ .pixel-bg {
73
+ background: #000;
74
+ border: 2px solid #00ff00;
75
+ image-rendering: pixelated;
76
+ }
77
+
78
+ .pixel-text {
79
+ font-family: 'Courier New', monospace;
80
+ text-shadow: 2px 2px 0 #000;
81
+ letter-spacing: 1px;
82
+ }
83
+
84
+ .pixel-button {
85
+ background: #000;
86
+ border: 3px solid #00ff00;
87
+ font-family: 'Courier New', monospace;
88
+ text-shadow: 1px 1px 0 #000;
89
+ image-rendering: pixelated;
90
+ transition: all 0.1s;
91
+ }
92
+
93
+ .pixel-button:hover {
94
+ background: #00ff00;
95
+ color: #000;
96
+ transform: translateY(-2px);
97
+ box-shadow: 0 4px 0 #008800;
98
+ }
99
+
100
+ .pixel-button:active {
101
+ transform: translateY(0);
102
+ box-shadow: 0 2px 0 #008800;
103
+ }
104
+
105
+ .pixel-card {
106
+ background: #000;
107
+ border: 4px solid #00ff00;
108
+ box-shadow: 8px 8px 0 #008800;
109
+ image-rendering: pixelated;
110
  }
111
 
112
+ .pixel-nav {
113
+ background: #000;
114
+ border-right: 4px solid #00ff00;
115
+ border-bottom: 4px solid #00ff00;
116
+ image-rendering: pixelated;
117
+ }
118
+
119
+ .pixel-checkbox {
120
+ appearance: none;
121
+ width: 20px;
122
+ height: 20px;
123
+ border: 2px solid #00ff00;
124
+ background: #000;
125
+ image-rendering: pixelated;
126
+ }
127
+
128
+ .pixel-checkbox:checked {
129
+ background: #00ff00;
130
+ box-shadow: inset 0 0 0 2px #000;
131
+ }
132
+
133
+ .pixel-badge {
134
+ font-family: 'Courier New', monospace;
135
+ border: 2px solid;
136
+ padding: 2px 8px;
137
+ font-size: 12px;
138
+ image-rendering: pixelated;
139
+ }
140
+
141
+ body {
142
+ font-family: 'Courier New', monospace;
143
+ background: #000 !important;
144
+ color: #00ff00 !important;
145
+ image-rendering: pixelated;
146
+ }
147
+
148
+ .dark body {
149
+ background: #000 !important;
150
+ color: #00ff00 !important;
151
  }
152
  </style>
153
  </head>
154
+ <body class="bg-black text-green-400 transition-colors duration-300 pixel-text">
155
  <!-- Theme Toggler -->
156
  <div class="fixed top-4 right-4 z-50">
157
+ <button id="themeToggle" class="p-3 pixel-button">
158
  <i data-feather="moon" class="hidden dark:block"></i>
159
  <i data-feather="sun" class="dark:hidden"></i>
160
  </button>
161
  </div>
162
+ <!-- Main Layout -->
 
163
  <div class="min-h-screen flex">
164
  <!-- Sidebar -->
165
+ <aside class="w-64 pixel-nav p-6 fixed h-screen z-40">
166
  <div class="flex items-center space-x-3 mb-8">
167
+ <div class="w-10 h-10 bg-green-500 pixel-border flex items-center justify-center">
168
+ <i data-feather="activity" class="text-black"></i>
169
  </div>
170
+ <h1 class="text-xl font-bold pixel-text">EVENT_SCRAPE</h1>
171
  </div>
172
 
173
  <nav class="space-y-2">
174
+ <a href="#" class="flex items-center space-x-3 p-3 pixel-bg bg-green-500 text-black">
175
  <i data-feather="home"></i>
176
+ <span>DASHBOARD</span>
177
  </a>
178
+ <a href="#" class="flex items-center space-x-3 p-3 pixel-bg hover:bg-green-500 hover:text-black">
179
  <i data-feather="compass"></i>
180
+ <span>SCRAPE_RUNS</span>
181
  </a>
182
+ <a href="#" class="flex items-center space-x-3 p-3 pixel-bg hover:bg-green-500 hover:text-black">
183
  <i data-feather="database"></i>
184
+ <span>DATA_MGMT</span>
185
  </a>
186
+ <a href="#" class="flex items-center space-x-3 p-3 pixel-bg hover:bg-green-500 hover:text-black">
187
  <i data-feather="bar-chart-2"></i>
188
+ <span>ANALYTICS</span>
189
  </a>
190
+ <a href="#" class="flex items-center space-x-3 p-3 pixel-bg hover:bg-green-500 hover:text-black">
191
  <i data-feather="settings"></i>
192
+ <span>SETTINGS</span>
193
  </a>
194
  </nav>
195
 
196
  <!-- Map Filters -->
197
  <div class="mt-8">
198
+ <h3 class="font-semibold mb-4 pixel-text">MAP_LAYERS</h3>
199
  <div class="space-y-2">
200
  <label class="flex items-center space-x-3">
201
+ <input type="checkbox" checked class="pixel-checkbox" data-layer="events">
202
+ <span class="pixel-text">EVENT_COUNT</span>
203
  </label>
204
  <label class="flex items-center space-x-3">
205
+ <input type="checkbox" class="pixel-checkbox" data-layer="music">
206
+ <span class="pixel-text">MUSIC_STYLES</span>
207
  </label>
208
  <label class="flex items-center space-x-3">
209
+ <input type="checkbox" class="pixel-checkbox" data-layer="capacity">
210
+ <span class="pixel-text">VENUE_CAPACITY</span>
211
  </label>
212
  </div>
213
  </div>
214
  </aside>
215
+ <!-- Main Content -->
 
216
  <main class="flex-1 ml-64 p-6">
217
  <!-- Header with Alerts Ticker -->
218
  <header class="mb-8">
219
+ <div class="pixel-card p-4 mb-4 overflow-hidden">
220
  <div class="flex items-center space-x-4">
221
+ <i data-feather="alert-circle" class="text-red-400"></i>
222
  <div class="flex-1 overflow-hidden">
223
  <div class="ticker-container whitespace-nowrap">
224
  <div class="ticker-item inline-block px-4">
225
+ [ALERT] HIGH_LATENCY_NORTH_AMERICA
226
  </div>
227
  <div class="ticker-item inline-block px-4">
228
+ [OK] PLUGIN_v2.3.1_DEPLOYED
229
  </div>
230
  <div class="ticker-item inline-block px-4">
231
+ [SYNC] REAL_TIME_ACTIVE_ALL_REGIONS
232
  </div>
233
  </div>
234
  </div>
235
  </div>
236
  </div>
237
  </header>
238
+ <!-- KPI Cards Grid -->
 
239
  <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-8">
240
  <!-- Events Scraped -->
241
  <div class="glass-effect rounded-xl p-6 relative overflow-hidden">