coderuday21 commited on
Commit
a068757
·
1 Parent(s): 92ca429

Remove navbar and footer, keep minimal topbar with user avatar

Browse files
Files changed (2) hide show
  1. static/css/style.css +11 -74
  2. templates/index.html +3 -15
static/css/style.css CHANGED
@@ -337,45 +337,22 @@ input:focus, select:focus, textarea:focus {
337
  .btn-sm { font-size: 0.8rem; padding: 0.45rem 0.8rem; }
338
  .btn-lg { padding: 0.8rem 1.6rem; font-size: 0.95rem; }
339
 
340
- /* ---- Nav ---- */
341
- .nav {
342
- position: sticky;
343
- top: 0;
344
- z-index: 100;
345
- display: flex;
346
- align-items: center;
347
- justify-content: space-between;
348
- width: 100vw;
349
- margin-left: calc(-50vw + 50%);
350
- margin-top: -1.5rem;
351
- margin-bottom: 2rem;
352
- padding: 1rem calc((100vw - 1100px) / 2 + 1.5rem);
353
- background: var(--gradient-h);
354
- border-radius: 0;
355
- box-shadow: 0 4px 20px rgba(46, 51, 197, 0.25);
356
- }
357
- .nav-brand {
358
- font-weight: 700;
359
- font-size: 1.05rem;
360
  display: flex;
361
- align-items: center;
362
- gap: 0.5rem;
363
- letter-spacing: -0.02em;
364
- color: #fff;
365
  }
366
- .nav-brand svg { stroke: #fff !important; }
367
  .nav-user {
368
  position: relative;
369
  }
370
-
371
- /* Avatar button */
372
  .nav-avatar {
373
  width: 36px;
374
  height: 36px;
375
  border-radius: 50%;
376
- border: 2px solid rgba(255,255,255,0.35);
377
- background: rgba(255,255,255,0.15);
378
- color: #fff;
379
  display: flex;
380
  align-items: center;
381
  justify-content: center;
@@ -383,11 +360,12 @@ input:focus, select:focus, textarea:focus {
383
  transition: all var(--transition);
384
  }
385
  .nav-avatar:hover {
386
- background: rgba(255,255,255,0.25);
387
- border-color: rgba(255,255,255,0.5);
 
388
  }
389
 
390
- /* Dropdown — light gradient matching nav */
391
  .nav-dropdown {
392
  position: absolute;
393
  top: calc(100% + 0.5rem);
@@ -435,19 +413,6 @@ input:focus, select:focus, textarea:focus {
435
  }
436
  .nav-dropdown-item svg { color: rgba(255,255,255,0.6); }
437
 
438
- /* ---- Page header ---- */
439
- .page-header { margin-bottom: 1.75rem; }
440
- .page-header h1 {
441
- font-size: 1.6rem;
442
- font-weight: 700;
443
- letter-spacing: -0.03em;
444
- }
445
- .page-header p {
446
- color: var(--text-muted);
447
- margin-top: 0.3rem;
448
- font-size: 0.9rem;
449
- }
450
-
451
  /* ---- Location row ---- */
452
  .location-row {
453
  display: grid;
@@ -853,21 +818,6 @@ input:focus, select:focus, textarea:focus {
853
  @keyframes spin { to { transform: rotate(360deg); } }
854
 
855
  /* ---- Footer ---- */
856
- .app-footer {
857
- width: 100vw;
858
- margin-left: calc(-50vw + 50%);
859
- margin-top: 3rem;
860
- margin-bottom: -1.5rem;
861
- padding: 1.25rem calc((100vw - 1100px) / 2 + 1.5rem);
862
- background: var(--gradient-h);
863
- text-align: center;
864
- border-radius: 0;
865
- }
866
- .app-footer p {
867
- font-size: 0.78rem;
868
- color: rgba(255,255,255,0.75);
869
- }
870
-
871
  /* ---- Utility ---- */
872
  .hidden { display: none !important; }
873
  .mt-1 { margin-top: 0.5rem; }
@@ -878,14 +828,6 @@ input:focus, select:focus, textarea:focus {
878
  @media (max-width: 768px) {
879
  .app { padding: 1rem; }
880
 
881
- .nav {
882
- margin-top: -1rem;
883
- padding: 0.75rem 1rem;
884
- }
885
-
886
- .page-header h1 { font-size: 1.3rem; }
887
- .page-header p { font-size: 0.82rem; }
888
-
889
  .auth-container { margin: 2rem auto; }
890
  .auth-container .card { padding: 1.5rem; }
891
 
@@ -897,11 +839,6 @@ input:focus, select:focus, textarea:focus {
897
  .history-item { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
898
  .history-actions { align-self: flex-end; }
899
 
900
- .app-footer {
901
- margin-bottom: -1rem;
902
- padding: 1rem;
903
- }
904
-
905
  .card { padding: 1.15rem; }
906
  .card-header { margin-bottom: 1rem; }
907
 
 
337
  .btn-sm { font-size: 0.8rem; padding: 0.45rem 0.8rem; }
338
  .btn-lg { padding: 0.8rem 1.6rem; font-size: 0.95rem; }
339
 
340
+ /* ---- Topbar (user avatar) ---- */
341
+ .topbar {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
342
  display: flex;
343
+ justify-content: flex-end;
344
+ margin-bottom: 1rem;
 
 
345
  }
 
346
  .nav-user {
347
  position: relative;
348
  }
 
 
349
  .nav-avatar {
350
  width: 36px;
351
  height: 36px;
352
  border-radius: 50%;
353
+ border: 2px solid var(--border);
354
+ background: var(--bg-elevated);
355
+ color: var(--text-muted);
356
  display: flex;
357
  align-items: center;
358
  justify-content: center;
 
360
  transition: all var(--transition);
361
  }
362
  .nav-avatar:hover {
363
+ border-color: var(--grad-start);
364
+ color: var(--grad-start);
365
+ background: var(--bg-hover);
366
  }
367
 
368
+ /* Dropdown */
369
  .nav-dropdown {
370
  position: absolute;
371
  top: calc(100% + 0.5rem);
 
413
  }
414
  .nav-dropdown-item svg { color: rgba(255,255,255,0.6); }
415
 
 
 
 
 
 
 
 
 
 
 
 
 
 
416
  /* ---- Location row ---- */
417
  .location-row {
418
  display: grid;
 
818
  @keyframes spin { to { transform: rotate(360deg); } }
819
 
820
  /* ---- Footer ---- */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
821
  /* ---- Utility ---- */
822
  .hidden { display: none !important; }
823
  .mt-1 { margin-top: 0.5rem; }
 
828
  @media (max-width: 768px) {
829
  .app { padding: 1rem; }
830
 
 
 
 
 
 
 
 
 
831
  .auth-container { margin: 2rem auto; }
832
  .auth-container .card { padding: 1.5rem; }
833
 
 
839
  .history-item { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
840
  .history-actions { align-self: flex-end; }
841
 
 
 
 
 
 
842
  .card { padding: 1.15rem; }
843
  .card-header { margin-bottom: 1rem; }
844
 
templates/index.html CHANGED
@@ -132,11 +132,7 @@
132
 
133
  <!-- Dashboard view -->
134
  <section id="view-dashboard" class="view">
135
- <nav class="nav">
136
- <div class="nav-brand">
137
- <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="var(--grad-start)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"/><path d="M2 12h20"/><path d="M12 2a15.3 15.3 0 014 10 15.3 15.3 0 01-4 10 15.3 15.3 0 01-4-10 15.3 15.3 0 014-10z"/></svg>
138
- <span>AI Change Detection</span>
139
- </div>
140
  <div class="nav-user">
141
  <button type="button" class="nav-avatar" id="btn-avatar" aria-label="Account menu">
142
  <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
@@ -150,12 +146,7 @@
150
  </button>
151
  </div>
152
  </div>
153
- </nav>
154
-
155
- <header class="page-header">
156
- <h1>Change Detection</h1>
157
- <p>Upload two satellite images (before &amp; after) to detect and classify ground-level changes.</p>
158
- </header>
159
 
160
  <div id="dashboard-error" class="alert alert-error hidden"></div>
161
  <div id="dashboard-success" class="alert alert-success hidden"></div>
@@ -294,9 +285,6 @@
294
  <div id="history-list" class="history-list"></div>
295
  </div>
296
 
297
- <footer class="app-footer">
298
- <p>AI Change Detection &middot; Powered by multi-signal fusion analysis</p>
299
- </footer>
300
  </section>
301
  </div>
302
 
@@ -312,6 +300,6 @@
312
  </div>
313
  </div>
314
 
315
- <script src="/static/js/app.js?v=13"></script>
316
  </body>
317
  </html>
 
132
 
133
  <!-- Dashboard view -->
134
  <section id="view-dashboard" class="view">
135
+ <div class="topbar">
 
 
 
 
136
  <div class="nav-user">
137
  <button type="button" class="nav-avatar" id="btn-avatar" aria-label="Account menu">
138
  <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 21v-2a4 4 0 00-4-4H8a4 4 0 00-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
 
146
  </button>
147
  </div>
148
  </div>
149
+ </div>
 
 
 
 
 
150
 
151
  <div id="dashboard-error" class="alert alert-error hidden"></div>
152
  <div id="dashboard-success" class="alert alert-success hidden"></div>
 
285
  <div id="history-list" class="history-list"></div>
286
  </div>
287
 
 
 
 
288
  </section>
289
  </div>
290
 
 
300
  </div>
301
  </div>
302
 
303
+ <script src="/static/js/app.js?v=14"></script>
304
  </body>
305
  </html>