Spaces:
Running
Running
use modern gradient colurs and animated elements make it more uneque and remove all charts - Follow Up Deployment
Browse files- index.html +78 -115
index.html
CHANGED
|
@@ -6,31 +6,73 @@
|
|
| 6 |
<title>ANA AI - Multi-Model Dashboard</title>
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
-
|
| 10 |
<style>
|
| 11 |
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
| 12 |
|
| 13 |
:root {
|
| 14 |
-
--primary: #
|
| 15 |
-
--secondary: #
|
| 16 |
-
--accent: #
|
| 17 |
-
--success: #
|
| 18 |
-
--warning: #
|
| 19 |
-
--error: #
|
| 20 |
}
|
| 21 |
|
| 22 |
-
* {
|
| 23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
}
|
| 25 |
|
| 26 |
-
|
| 27 |
-
background:
|
|
|
|
|
|
|
| 28 |
}
|
| 29 |
|
| 30 |
.glass-morphism {
|
| 31 |
-
background: rgba(255, 255, 255, 0.
|
| 32 |
-
backdrop-filter: blur(
|
| 33 |
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
}
|
| 35 |
|
| 36 |
.model-card {
|
|
@@ -184,47 +226,47 @@
|
|
| 184 |
|
| 185 |
<!-- Stats Overview -->
|
| 186 |
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-8">
|
| 187 |
-
<div class="metric-card
|
| 188 |
<div class="flex items-center justify-between">
|
| 189 |
<div>
|
| 190 |
-
<p class="text-sm font-medium
|
| 191 |
-
<p class="text-3xl font-bold
|
| 192 |
</div>
|
| 193 |
-
<div class="p-3 bg-
|
| 194 |
-
<i data-feather="cpu" class="h-6 w-6
|
| 195 |
</div>
|
| 196 |
</div>
|
| 197 |
</div>
|
| 198 |
-
<div class="metric-card
|
| 199 |
<div class="flex items-center justify-between">
|
| 200 |
<div>
|
| 201 |
-
<p class="text-sm font-medium
|
| 202 |
-
<p class="text-3xl font-bold
|
| 203 |
</div>
|
| 204 |
-
<div class="p-3 bg-
|
| 205 |
-
<i data-feather="activity" class="h-6 w-6
|
| 206 |
</div>
|
| 207 |
</div>
|
| 208 |
</div>
|
| 209 |
-
<div class="metric-card
|
| 210 |
<div class="flex items-center justify-between">
|
| 211 |
<div>
|
| 212 |
-
<p class="text-sm font-medium
|
| 213 |
-
<p class="text-3xl font-bold
|
| 214 |
</div>
|
| 215 |
-
<div class="p-3 bg-
|
| 216 |
-
<i data-feather="trending-up" class="h-6 w-6
|
| 217 |
</div>
|
| 218 |
</div>
|
| 219 |
</div>
|
| 220 |
-
<div class="metric-card
|
| 221 |
<div class="flex items-center justify-between">
|
| 222 |
<div>
|
| 223 |
-
<p class="text-sm font-medium
|
| 224 |
-
<p class="text-3xl font-bold
|
| 225 |
</div>
|
| 226 |
-
<div class="p-3 bg-
|
| 227 |
-
<i data-feather="clock" class="h-6 w-6
|
| 228 |
</div>
|
| 229 |
</div>
|
| 230 |
</div>
|
|
@@ -232,45 +274,8 @@
|
|
| 232 |
|
| 233 |
<!-- Models Grid -->
|
| 234 |
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
|
| 235 |
-
<!-- Model Performance -->
|
| 236 |
-
|
| 237 |
-
<h3 class="text-lg font-semibold mb-4">Model Performance</h3>
|
| 238 |
-
<canvas id="performanceChart" width="400" height="200"></canvas>
|
| 239 |
-
</div>
|
| 240 |
-
|
| 241 |
-
<!-- Model Distribution -->
|
| 242 |
-
<div class="bg-white p-6 rounded-lg shadow-md">
|
| 243 |
-
<h3 class="text-lg font-semibold mb-4">Model Distribution</h3>
|
| 244 |
-
<div class="space-y-4">
|
| 245 |
-
<div class="flex items-center justify-between">
|
| 246 |
-
<span class="text-sm text-gray-600">GPT-4</span>
|
| 247 |
-
<div class="flex items-center">
|
| 248 |
-
<div class="w-32 bg-gray-200 rounded-full h-2 mr-2">
|
| 249 |
-
<div class="bg-blue-600 h-2 rounded-full" style="width: 45%"></div>
|
| 250 |
-
</div>
|
| 251 |
-
<span class="text-sm text-gray-600">45%</span>
|
| 252 |
-
</div>
|
| 253 |
-
</div>
|
| 254 |
-
<div class="flex items-center justify-between">
|
| 255 |
-
<span class="text-sm text-gray-600">Claude</span>
|
| 256 |
-
<div class="flex items-center">
|
| 257 |
-
<div class="w-32 bg-gray-200 rounded-full h-2 mr-2">
|
| 258 |
-
<div class="bg-purple-600 h-2 rounded-full" style="width: 30%"></div>
|
| 259 |
-
</div>
|
| 260 |
-
<span class="text-sm text-gray-600">30%</span>
|
| 261 |
-
</div>
|
| 262 |
-
</div>
|
| 263 |
-
<div class="flex items-center justify-between">
|
| 264 |
-
<span class="text-sm text-gray-600">Gemini</span>
|
| 265 |
-
<div class="flex items-center">
|
| 266 |
-
<div class="w-32 bg-gray-200 rounded-full h-2 mr-2">
|
| 267 |
-
<div class="bg-green-600 h-2 rounded-full" style="width: 25%"></div>
|
| 268 |
-
</div>
|
| 269 |
-
<span class="text-sm text-gray-600">25%</span>
|
| 270 |
-
</div>
|
| 271 |
-
</div>
|
| 272 |
-
</div>
|
| 273 |
-
</div>
|
| 274 |
</div>
|
| 275 |
|
| 276 |
<!-- Active Models -->
|
|
@@ -380,48 +385,6 @@
|
|
| 380 |
// Initialize Feather Icons
|
| 381 |
feather.replace();
|
| 382 |
|
| 383 |
-
// Chart.js configuration
|
| 384 |
-
const ctx = document.getElementById('performanceChart').getContext('2d');
|
| 385 |
-
new Chart(ctx, {
|
| 386 |
-
type: 'line',
|
| 387 |
-
data: {
|
| 388 |
-
labels: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
|
| 389 |
-
datasets: [{
|
| 390 |
-
label: 'Response Time (ms)',
|
| 391 |
-
data: [120, 190, 300, 500, 200, 300],
|
| 392 |
-
borderColor: 'rgb(59, 130, 246)',
|
| 393 |
-
backgroundColor: 'rgba(59, 130, 246, 0.1)',
|
| 394 |
-
tension: 0.4
|
| 395 |
-
}, {
|
| 396 |
-
label: 'Accuracy (%)',
|
| 397 |
-
data: [85, 90, 88, 95, 92, 93],
|
| 398 |
-
borderColor: 'rgb(139, 92, 246)',
|
| 399 |
-
backgroundColor: 'rgba(139, 92, 246, 0.1)',
|
| 400 |
-
tension: 0.4,
|
| 401 |
-
yAxisID: 'y1'
|
| 402 |
-
}]
|
| 403 |
-
},
|
| 404 |
-
options: {
|
| 405 |
-
responsive: true,
|
| 406 |
-
maintainAspectRatio: false,
|
| 407 |
-
scales: {
|
| 408 |
-
y: {
|
| 409 |
-
type: 'linear',
|
| 410 |
-
display: true,
|
| 411 |
-
position: 'left',
|
| 412 |
-
},
|
| 413 |
-
y1: {
|
| 414 |
-
type: 'linear',
|
| 415 |
-
display: true,
|
| 416 |
-
position: 'right',
|
| 417 |
-
grid: {
|
| 418 |
-
drawOnChartArea: false,
|
| 419 |
-
},
|
| 420 |
-
}
|
| 421 |
-
}
|
| 422 |
-
}
|
| 423 |
-
});
|
| 424 |
-
|
| 425 |
// Sidebar toggle
|
| 426 |
document.getElementById('sidebar-toggle').addEventListener('click', function() {
|
| 427 |
const sidebar = document.getElementById('sidebar');
|
|
|
|
| 6 |
<title>ANA AI - Multi-Model Dashboard</title>
|
| 7 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 8 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 9 |
+
|
| 10 |
<style>
|
| 11 |
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
|
| 12 |
|
| 13 |
:root {
|
| 14 |
+
--primary: #667eea;
|
| 15 |
+
--secondary: #f093fb;
|
| 16 |
+
--accent: #4facfe;
|
| 17 |
+
--success: #43e97b;
|
| 18 |
+
--warning: #fa709a;
|
| 19 |
+
--error: #ff6b6b;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
* { font-family: 'Inter', sans-serif; }
|
| 23 |
+
|
| 24 |
+
body {
|
| 25 |
+
background: linear-gradient(-45deg, #667eea, #764ba2, #f093fb, #4facfe);
|
| 26 |
+
background-size: 400% 400%;
|
| 27 |
+
animation: gradientShift 12s ease infinite;
|
| 28 |
}
|
| 29 |
|
| 30 |
+
@keyframes gradientShift {
|
| 31 |
+
0% { background-position: 0% 50%; }
|
| 32 |
+
50% { background-position: 100% 50%; }
|
| 33 |
+
100% { background-position: 0% 50%; }
|
| 34 |
}
|
| 35 |
|
| 36 |
.glass-morphism {
|
| 37 |
+
background: rgba(255, 255, 255, 0.15);
|
| 38 |
+
backdrop-filter: blur(16px);
|
| 39 |
+
border: 1px solid rgba(255, 255, 255, 0.25);
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
.glow-card {
|
| 43 |
+
background: linear-gradient(145deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
|
| 44 |
+
box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
|
| 45 |
+
border: 1px solid rgba(255, 255, 255, 0.18);
|
| 46 |
+
transition: transform 0.4s, box-shadow 0.4s;
|
| 47 |
+
}
|
| 48 |
+
.glow-card:hover {
|
| 49 |
+
transform: translateY(-8px) scale(1.02);
|
| 50 |
+
box-shadow: 0 0 20px var(--accent), 0 0 40px var(--primary);
|
| 51 |
+
}
|
| 52 |
+
|
| 53 |
+
.metric-card {
|
| 54 |
+
position: relative;
|
| 55 |
+
overflow: hidden;
|
| 56 |
+
border-radius: 1rem;
|
| 57 |
+
background: linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0.05));
|
| 58 |
+
box-shadow: 0 8px 32px rgba(31, 38, 135, 0.37);
|
| 59 |
+
border: 1px solid rgba(255, 255, 255, 0.18);
|
| 60 |
+
}
|
| 61 |
+
.metric-card::before {
|
| 62 |
+
content: '';
|
| 63 |
+
position: absolute;
|
| 64 |
+
top: -50%;
|
| 65 |
+
left: -50%;
|
| 66 |
+
width: 200%;
|
| 67 |
+
height: 200%;
|
| 68 |
+
background: conic-gradient(from 0deg, transparent, rgba(255,255,255,0.3), transparent);
|
| 69 |
+
animation: rotate 4s linear infinite;
|
| 70 |
+
z-index: 0;
|
| 71 |
+
}
|
| 72 |
+
.metric-card > * { position: relative; z-index: 1; }
|
| 73 |
+
|
| 74 |
+
@keyframes rotate {
|
| 75 |
+
100% { transform: rotate(360deg); }
|
| 76 |
}
|
| 77 |
|
| 78 |
.model-card {
|
|
|
|
| 226 |
|
| 227 |
<!-- Stats Overview -->
|
| 228 |
<div class="grid grid-cols-1 md:grid-cols-4 gap-6 mb-8">
|
| 229 |
+
<div class="metric-card p-6 text-white">
|
| 230 |
<div class="flex items-center justify-between">
|
| 231 |
<div>
|
| 232 |
+
<p class="text-sm font-medium opacity-80">Total Models</p>
|
| 233 |
+
<p class="text-3xl font-bold">8</p>
|
| 234 |
</div>
|
| 235 |
+
<div class="p-3 bg-white/20 rounded-full">
|
| 236 |
+
<i data-feather="cpu" class="h-6 w-6"></i>
|
| 237 |
</div>
|
| 238 |
</div>
|
| 239 |
</div>
|
| 240 |
+
<div class="metric-card p-6 text-white">
|
| 241 |
<div class="flex items-center justify-between">
|
| 242 |
<div>
|
| 243 |
+
<p class="text-sm font-medium opacity-80">Active Sessions</p>
|
| 244 |
+
<p class="text-3xl font-bold">24</p>
|
| 245 |
</div>
|
| 246 |
+
<div class="p-3 bg-white/20 rounded-full">
|
| 247 |
+
<i data-feather="activity" class="h-6 w-6"></i>
|
| 248 |
</div>
|
| 249 |
</div>
|
| 250 |
</div>
|
| 251 |
+
<div class="metric-card p-6 text-white">
|
| 252 |
<div class="flex items-center justify-between">
|
| 253 |
<div>
|
| 254 |
+
<p class="text-sm font-medium opacity-80">API Calls</p>
|
| 255 |
+
<p class="text-3xl font-bold">12.4k</p>
|
| 256 |
</div>
|
| 257 |
+
<div class="p-3 bg-white/20 rounded-full">
|
| 258 |
+
<i data-feather="trending-up" class="h-6 w-6"></i>
|
| 259 |
</div>
|
| 260 |
</div>
|
| 261 |
</div>
|
| 262 |
+
<div class="metric-card p-6 text-white">
|
| 263 |
<div class="flex items-center justify-between">
|
| 264 |
<div>
|
| 265 |
+
<p class="text-sm font-medium opacity-80">Uptime</p>
|
| 266 |
+
<p class="text-3xl font-bold">99.9%</p>
|
| 267 |
</div>
|
| 268 |
+
<div class="p-3 bg-white/20 rounded-full">
|
| 269 |
+
<i data-feather="clock" class="h-6 w-6"></i>
|
| 270 |
</div>
|
| 271 |
</div>
|
| 272 |
</div>
|
|
|
|
| 274 |
|
| 275 |
<!-- Models Grid -->
|
| 276 |
<div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
|
| 277 |
+
<!-- Model Performance (removed) -->
|
| 278 |
+
<!-- Model Distribution (removed) -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 279 |
</div>
|
| 280 |
|
| 281 |
<!-- Active Models -->
|
|
|
|
| 385 |
// Initialize Feather Icons
|
| 386 |
feather.replace();
|
| 387 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
// Sidebar toggle
|
| 389 |
document.getElementById('sidebar-toggle').addEventListener('click', function() {
|
| 390 |
const sidebar = document.getElementById('sidebar');
|