Al1Abdullah commited on
Commit
3ba96fb
·
1 Parent(s): 0ad0509

Fix mobile navigation: visible toggle, overlay, and correct sidebar behavior

Browse files
Files changed (3) hide show
  1. frontend/index.html +1 -0
  2. frontend/main.js +1 -1
  3. frontend/style.css +17 -15
frontend/index.html CHANGED
@@ -12,6 +12,7 @@
12
  <aside class="sidebar">
13
  <div class="sidebar-header">
14
  <h2>AutoML</h2>
 
15
  </div>
16
  <nav class="sidebar-nav">
17
  <a href="#" class="nav-link active" data-page="load-dataset"><i class="fas fa-upload"></i><span class="nav-text">Load Dataset</span></a>
 
12
  <aside class="sidebar">
13
  <div class="sidebar-header">
14
  <h2>AutoML</h2>
15
+ <button id="desktop-sidebar-toggle"><i class="fas fa-angle-left"></i></button>
16
  </div>
17
  <nav class="sidebar-nav">
18
  <a href="#" class="nav-link active" data-page="load-dataset"><i class="fas fa-upload"></i><span class="nav-text">Load Dataset</span></a>
frontend/main.js CHANGED
@@ -3,7 +3,7 @@ document.addEventListener('DOMContentLoaded', () => {
3
  const pages = document.querySelectorAll('.page');
4
  const sidebar = document.querySelector('.sidebar');
5
  const mainContent = document.querySelector('.main-content');
6
- const desktopSidebarToggle = document.getElementById('sidebar-toggle'); // Original desktop toggle
7
  const mobileSidebarToggle = document.getElementById('mobile-sidebar-toggle'); // New mobile toggle
8
  const overlay = document.querySelector('.overlay'); // New overlay
9
  const loader = document.querySelector('.loader');
 
3
  const pages = document.querySelectorAll('.page');
4
  const sidebar = document.querySelector('.sidebar');
5
  const mainContent = document.querySelector('.main-content');
6
+ const desktopSidebarToggle = document.getElementById('desktop-sidebar-toggle'); // Original desktop toggle
7
  const mobileSidebarToggle = document.getElementById('mobile-sidebar-toggle'); // New mobile toggle
8
  const overlay = document.querySelector('.overlay'); // New overlay
9
  const loader = document.querySelector('.loader');
frontend/style.css CHANGED
@@ -53,11 +53,8 @@ body {
53
  transition: opacity 0.3s ease;
54
  }
55
 
56
- .sidebar.collapsed .sidebar-header h2 {
57
- opacity: 0;
58
- }
59
-
60
- #sidebar-toggle {
61
  background: transparent;
62
  border: none;
63
  color: var(--text-color-light);
@@ -66,11 +63,11 @@ body {
66
  transition: transform 0.3s ease;
67
  }
68
 
69
- #sidebar-toggle:hover {
70
  color: var(--hover-color);
71
  }
72
 
73
- .sidebar.collapsed #sidebar-toggle {
74
  transform: rotate(180deg);
75
  }
76
 
@@ -312,8 +309,8 @@ button:hover {
312
  animation: none;
313
  }
314
 
315
- /* New styles for mobile toggle button */
316
- .mobile-toggle {
317
  display: none; /* Hidden by default on desktop */
318
  position: fixed;
319
  top: 1rem;
@@ -348,8 +345,12 @@ button:hover {
348
 
349
  /* Responsive adjustments for smaller screens */
350
  @media (max-width: 768px) {
351
- .mobile-toggle {
352
- display: flex; /* Show on mobile */
 
 
 
 
353
  }
354
 
355
  .app-layout {
@@ -390,10 +391,6 @@ button:hover {
390
  opacity: 1; /* Always show title on mobile */
391
  }
392
 
393
- #sidebar-toggle {
394
- display: none; /* Hide the internal sidebar toggle on mobile */
395
- }
396
-
397
  .sidebar-nav .nav-link .nav-text {
398
  opacity: 1; /* Always show text on mobile */
399
  width: auto;
@@ -421,6 +418,9 @@ button:hover {
421
 
422
  .container {
423
  padding: 1rem; /* Adjust container padding */
 
 
 
424
  }
425
 
426
  .page {
@@ -429,6 +429,8 @@ button:hover {
429
 
430
  .card {
431
  padding: 1.5rem; /* Adjust card padding */
 
 
432
  }
433
 
434
  /* Adjust font sizes for better mobile readability */
 
53
  transition: opacity 0.3s ease;
54
  }
55
 
56
+ /* Desktop sidebar toggle */
57
+ #desktop-sidebar-toggle {
 
 
 
58
  background: transparent;
59
  border: none;
60
  color: var(--text-color-light);
 
63
  transition: transform 0.3s ease;
64
  }
65
 
66
+ #desktop-sidebar-toggle:hover {
67
  color: var(--hover-color);
68
  }
69
 
70
+ .sidebar.collapsed #desktop-sidebar-toggle {
71
  transform: rotate(180deg);
72
  }
73
 
 
309
  animation: none;
310
  }
311
 
312
+ /* Mobile toggle button (hamburger) */
313
+ #mobile-sidebar-toggle {
314
  display: none; /* Hidden by default on desktop */
315
  position: fixed;
316
  top: 1rem;
 
345
 
346
  /* Responsive adjustments for smaller screens */
347
  @media (max-width: 768px) {
348
+ #desktop-sidebar-toggle {
349
+ display: none; /* Hide desktop toggle on mobile */
350
+ }
351
+
352
+ #mobile-sidebar-toggle {
353
+ display: flex; /* Show mobile toggle */
354
  }
355
 
356
  .app-layout {
 
391
  opacity: 1; /* Always show title on mobile */
392
  }
393
 
 
 
 
 
394
  .sidebar-nav .nav-link .nav-text {
395
  opacity: 1; /* Always show text on mobile */
396
  width: auto;
 
418
 
419
  .container {
420
  padding: 1rem; /* Adjust container padding */
421
+ /* Center the card horizontally */
422
+ justify-content: center;
423
+ align-items: flex-start; /* Align items to start to prevent vertical centering issues */
424
  }
425
 
426
  .page {
 
429
 
430
  .card {
431
  padding: 1.5rem; /* Adjust card padding */
432
+ width: 95%; /* Give it a max width to prevent stretching */
433
+ box-sizing: border-box; /* Include padding in width */
434
  }
435
 
436
  /* Adjust font sizes for better mobile readability */