cyberai-1 commited on
Commit
b4502d9
Β·
1 Parent(s): 89dfd64

add the cicle barre

Browse files
Files changed (1) hide show
  1. index.html +27 -1
index.html CHANGED
@@ -190,6 +190,23 @@ header {
190
  .btn-run:hover { background:#f5ff70;box-shadow:0 0 40px rgba(232,255,71,.35); }
191
  .btn-run:disabled { background:var(--dim);color:var(--bg);cursor:not-allowed;box-shadow:none; }
192
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
193
  /* ── DASHBOARD ───────────────────────────────────────────────────────────── */
194
  #dashPage { display:none;padding:0; }
195
 
@@ -682,6 +699,11 @@ header {
682
  </button>
683
  </div>
684
 
 
 
 
 
 
685
  <!-- ══ DASHBOARD PAGE ══════════════════════════════════════════════════════ -->
686
  <div id="dashPage">
687
 
@@ -1028,10 +1050,14 @@ async function loadAndRender() {
1028
  }
1029
  allRows = [];
1030
  let pending = csvFiles.length + remoteCsvFiles.length;
 
1031
 
1032
  const done = () => {
1033
  pending--;
1034
- if (pending === 0) buildDashboard();
 
 
 
1035
  };
1036
 
1037
  csvFiles.forEach(f => {
 
190
  .btn-run:hover { background:#f5ff70;box-shadow:0 0 40px rgba(232,255,71,.35); }
191
  .btn-run:disabled { background:var(--dim);color:var(--bg);cursor:not-allowed;box-shadow:none; }
192
 
193
+ /* ── LOADING SPINNER ─────────────────────────────────────────────────────── */
194
+ .spinner {
195
+ display:none;position:fixed;inset:0;z-index:999;
196
+ background:rgba(5,7,10,.95);backdrop-filter:blur(4px);
197
+ align-items:center;justify-content:center;
198
+ }
199
+ .spinner.active { display:flex; }
200
+ .spinner-circle {
201
+ width:60px;height:60px;border:4px solid var(--dim);
202
+ border-top-color:var(--accent);border-right-color:var(--accent);
203
+ border-radius:50%;animation:spin .8s linear infinite;
204
+ }
205
+ @keyframes spin {
206
+ from { transform:rotate(0deg); }
207
+ to { transform:rotate(360deg); }
208
+ }
209
+
210
  /* ── DASHBOARD ───────────────────────────────────────────────────────────── */
211
  #dashPage { display:none;padding:0; }
212
 
 
699
  </button>
700
  </div>
701
 
702
+ <!-- Loading Spinner -->
703
+ <div class="spinner" id="loadingSpinner">
704
+ <div class="spinner-circle"></div>
705
+ </div>
706
+
707
  <!-- ══ DASHBOARD PAGE ══════════════════════════════════════════════════════ -->
708
  <div id="dashPage">
709
 
 
1050
  }
1051
  allRows = [];
1052
  let pending = csvFiles.length + remoteCsvFiles.length;
1053
+ document.getElementById('loadingSpinner').classList.add('active');
1054
 
1055
  const done = () => {
1056
  pending--;
1057
+ if (pending === 0) {
1058
+ document.getElementById('loadingSpinner').classList.remove('active');
1059
+ buildDashboard();
1060
+ }
1061
  };
1062
 
1063
  csvFiles.forEach(f => {