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

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

Browse files
Files changed (2) hide show
  1. frontend/index.html +0 -1
  2. frontend/main.js +18 -0
frontend/index.html CHANGED
@@ -12,7 +12,6 @@
12
  <aside class="sidebar">
13
  <div class="sidebar-header">
14
  <h2>AutoML</h2>
15
- <button id="sidebar-toggle"><i class="fas fa-bars"></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>
 
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>
frontend/main.js CHANGED
@@ -37,6 +37,9 @@ document.addEventListener('DOMContentLoaded', () => {
37
  if (isMobileView()) {
38
  sidebar.classList.remove('active');
39
  overlay.classList.remove('active');
 
 
 
40
  }
41
  });
42
  });
@@ -53,12 +56,16 @@ document.addEventListener('DOMContentLoaded', () => {
53
  sidebar.classList.remove('active'); // Start hidden on mobile
54
  overlay.classList.remove('active');
55
  mainContent.classList.remove('collapsed'); // Main content always full width on mobile
 
 
56
  } else {
57
  // Desktop default state
58
  sidebar.classList.remove('collapsed');
59
  sidebar.classList.remove('active'); // Ensure mobile active state is removed
60
  overlay.classList.remove('active');
61
  mainContent.classList.remove('collapsed');
 
 
62
  }
63
  }
64
 
@@ -80,6 +87,14 @@ document.addEventListener('DOMContentLoaded', () => {
80
  if (isMobileView()) {
81
  sidebar.classList.toggle('active');
82
  overlay.classList.toggle('active');
 
 
 
 
 
 
 
 
83
  }
84
  });
85
 
@@ -88,6 +103,9 @@ document.addEventListener('DOMContentLoaded', () => {
88
  if (isMobileView() && sidebar.classList.contains('active')) {
89
  sidebar.classList.remove('active');
90
  overlay.classList.remove('active');
 
 
 
91
  }
92
  });
93
 
 
37
  if (isMobileView()) {
38
  sidebar.classList.remove('active');
39
  overlay.classList.remove('active');
40
+ // Change icon back to bars when sidebar closes
41
+ mobileSidebarToggle.querySelector('i').classList.remove('fa-times');
42
+ mobileSidebarToggle.querySelector('i').classList.add('fa-bars');
43
  }
44
  });
45
  });
 
56
  sidebar.classList.remove('active'); // Start hidden on mobile
57
  overlay.classList.remove('active');
58
  mainContent.classList.remove('collapsed'); // Main content always full width on mobile
59
+ mobileSidebarToggle.style.display = 'flex'; // Ensure mobile toggle is visible
60
+ desktopSidebarToggle.style.display = 'none'; // Hide desktop toggle
61
  } else {
62
  // Desktop default state
63
  sidebar.classList.remove('collapsed');
64
  sidebar.classList.remove('active'); // Ensure mobile active state is removed
65
  overlay.classList.remove('active');
66
  mainContent.classList.remove('collapsed');
67
+ mobileSidebarToggle.style.display = 'none'; // Hide mobile toggle
68
+ desktopSidebarToggle.style.display = 'block'; // Show desktop toggle
69
  }
70
  }
71
 
 
87
  if (isMobileView()) {
88
  sidebar.classList.toggle('active');
89
  overlay.classList.toggle('active');
90
+ // Change icon based on sidebar state
91
+ if (sidebar.classList.contains('active')) {
92
+ mobileSidebarToggle.querySelector('i').classList.remove('fa-bars');
93
+ mobileSidebarToggle.querySelector('i').classList.add('fa-times');
94
+ } else {
95
+ mobileSidebarToggle.querySelector('i').classList.remove('fa-times');
96
+ mobileSidebarToggle.querySelector('i').classList.add('fa-bars');
97
+ }
98
  }
99
  });
100
 
 
103
  if (isMobileView() && sidebar.classList.contains('active')) {
104
  sidebar.classList.remove('active');
105
  overlay.classList.remove('active');
106
+ // Change icon back to bars when sidebar closes
107
+ mobileSidebarToggle.querySelector('i').classList.remove('fa-times');
108
+ mobileSidebarToggle.querySelector('i').classList.add('fa-bars');
109
  }
110
  });
111