victor HF Staff commited on
Commit
8808533
·
1 Parent(s): a6fe08b

style: Modernize dashboard with dark mode and minimalist design

Browse files
Files changed (2) hide show
  1. index.html +37 -24
  2. style.css +3 -4
index.html CHANGED
@@ -7,24 +7,27 @@
7
  <script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
8
  <style>
9
  :root {
10
- --bg-color: #f8f9fa;
11
- --card-bg-color: #ffffff;
12
- --text-color: #212529;
13
- --muted-text-color: #6c757d;
14
- --border-color: #dee2e6;
15
- --shadow-color: rgba(0, 0, 0, 0.05);
16
- --primary-color: #0d6efd;
17
- --success-color: #198754;
18
- --warning-color: #ffc107;
19
- --danger-color: #dc3545;
20
- --plot-colorway: ['#1f77b4', '#ff7f0e', '#2ca02c', '#d62728', '#9467bd', '#8c564b', '#e377c2', '#7f7f7f', '#bcbd22', '#17becf']; /* Plotly default */
21
- }
 
 
22
  body {
23
- font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
24
  margin: 0;
25
  background-color: var(--bg-color);
26
  color: var(--text-color);
27
  line-height: 1.5;
 
28
  }
29
  .container {
30
  max-width: 1700px; /* Wider container */
@@ -35,7 +38,9 @@
35
  text-align: center;
36
  color: var(--text-color);
37
  margin-bottom: 15px;
38
- font-weight: 500;
 
 
39
  }
40
  .controls {
41
  display: flex;
@@ -49,12 +54,18 @@
49
  color: var(--muted-text-color);
50
  }
51
  .controls select {
52
- padding: 8px 12px;
53
  border: 1px solid var(--border-color);
54
- border-radius: 6px;
55
  background-color: var(--card-bg-color);
56
  min-width: 300px;
57
  font-size: 1rem;
 
 
 
 
 
 
58
  }
59
 
60
  .kpi-container {
@@ -66,10 +77,11 @@
66
  .kpi-card {
67
  background-color: var(--card-bg-color);
68
  padding: 20px;
69
- border-radius: 8px;
70
- box-shadow: 0 4px 8px var(--shadow-color);
71
  text-align: center;
72
  border: 1px solid var(--border-color);
 
73
  }
74
  .kpi-card h3 {
75
  margin-top: 0;
@@ -99,9 +111,10 @@
99
  .plot-container, .table-container {
100
  background-color: var(--card-bg-color);
101
  padding: 20px;
102
- border-radius: 8px;
103
- box-shadow: 0 4px 8px var(--shadow-color);
104
  border: 1px solid var(--border-color);
 
105
  min-height: 450px; /* Ensure plots have some height */
106
  display: flex; /* For centering loading/error inside */
107
  flex-direction: column; /* Allow title and content stacking */
@@ -427,15 +440,15 @@
427
  paper_bgcolor: 'rgba(0,0,0,0)',
428
  plot_bgcolor: 'rgba(0,0,0,0)',
429
  font: {
430
- family: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
431
- color: '#212529'
432
  },
433
  title: {
434
  font: { size: 16, weight: '500' },
435
  x: 0.05, xanchor: 'left'
436
  },
437
- xaxis: { gridcolor: '#e9ecef', linecolor: '#adb5bd', automargin: true, tickfont: { size: 10 } },
438
- yaxis: { gridcolor: '#e9ecef', linecolor: '#adb5bd', automargin: true, tickfont: { size: 10 } }
439
  };
440
 
441
  function mergeLayout(customLayout) {
 
7
  <script src='https://cdn.plot.ly/plotly-latest.min.js'></script>
8
  <style>
9
  :root {
10
+ --bg-color: #0a0a0a;
11
+ --card-bg-color: #121212;
12
+ --text-color: #e0e0e0;
13
+ --muted-text-color: #757575;
14
+ --border-color: #2a2a2a;
15
+ --shadow-color: rgba(0, 0, 0, 0.3);
16
+ --primary-color: #3a86ff;
17
+ --success-color: #4ade80;
18
+ --warning-color: #fbbf24;
19
+ --danger-color: #f87171;
20
+ --plot-colorway: ['#3a86ff', '#8338ec', '#ff006e', '#fb5607', '#ffbe0b', '#80ffdb', '#a0e8af', '#ff9e00', '#e36414', '#0a9396'];
21
+ }
22
+ @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');
23
+
24
  body {
25
+ font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
26
  margin: 0;
27
  background-color: var(--bg-color);
28
  color: var(--text-color);
29
  line-height: 1.5;
30
+ font-weight: 300;
31
  }
32
  .container {
33
  max-width: 1700px; /* Wider container */
 
38
  text-align: center;
39
  color: var(--text-color);
40
  margin-bottom: 15px;
41
+ font-weight: 400;
42
+ letter-spacing: 0.5px;
43
+ font-size: 1.8rem;
44
  }
45
  .controls {
46
  display: flex;
 
54
  color: var(--muted-text-color);
55
  }
56
  .controls select {
57
+ padding: 10px 14px;
58
  border: 1px solid var(--border-color);
59
+ border-radius: 8px;
60
  background-color: var(--card-bg-color);
61
  min-width: 300px;
62
  font-size: 1rem;
63
+ color: var(--text-color);
64
+ appearance: none;
65
+ background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
66
+ background-repeat: no-repeat;
67
+ background-position: right 10px center;
68
+ background-size: 16px;
69
  }
70
 
71
  .kpi-container {
 
77
  .kpi-card {
78
  background-color: var(--card-bg-color);
79
  padding: 20px;
80
+ border-radius: 12px;
81
+ box-shadow: 0 4px 12px var(--shadow-color);
82
  text-align: center;
83
  border: 1px solid var(--border-color);
84
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
85
  }
86
  .kpi-card h3 {
87
  margin-top: 0;
 
111
  .plot-container, .table-container {
112
  background-color: var(--card-bg-color);
113
  padding: 20px;
114
+ border-radius: 12px;
115
+ box-shadow: 0 4px 12px var(--shadow-color);
116
  border: 1px solid var(--border-color);
117
+ transition: transform 0.2s ease, box-shadow 0.2s ease;
118
  min-height: 450px; /* Ensure plots have some height */
119
  display: flex; /* For centering loading/error inside */
120
  flex-direction: column; /* Allow title and content stacking */
 
440
  paper_bgcolor: 'rgba(0,0,0,0)',
441
  plot_bgcolor: 'rgba(0,0,0,0)',
442
  font: {
443
+ family: 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',
444
+ color: '#e0e0e0'
445
  },
446
  title: {
447
  font: { size: 16, weight: '500' },
448
  x: 0.05, xanchor: 'left'
449
  },
450
+ xaxis: { gridcolor: '#2a2a2a', linecolor: '#3a3a3a', automargin: true, tickfont: { size: 10 } },
451
+ yaxis: { gridcolor: '#2a2a2a', linecolor: '#3a3a3a', automargin: true, tickfont: { size: 10 } }
452
  };
453
 
454
  function mergeLayout(customLayout) {
style.css CHANGED
@@ -39,14 +39,13 @@ p {
39
  color: var(--muted-text-color);
40
  }
41
  .spinner {
42
- border: 4px solid rgba(0, 0, 0, 0.1);
43
  width: 36px;
44
  height: 36px;
45
  border-radius: 50%;
46
  border-left-color: var(--primary-color);
47
- margin-bottom: 15px; /* Space between spinner and text */
48
-
49
- animation: spin 1s ease infinite;
50
  }
51
  #loading-message {
52
  font-size: 1rem; /* Slightly smaller message */
 
39
  color: var(--muted-text-color);
40
  }
41
  .spinner {
42
+ border: 3px solid rgba(255, 255, 255, 0.1);
43
  width: 36px;
44
  height: 36px;
45
  border-radius: 50%;
46
  border-left-color: var(--primary-color);
47
+ margin-bottom: 15px;
48
+ animation: spin 1s cubic-bezier(0.5, 0, 0.5, 1) infinite;
 
49
  }
50
  #loading-message {
51
  font-size: 1rem; /* Slightly smaller message */