@@ -61,10 +61,17 @@ const navItems = [
6161 })}
6262 </nav >
6363
64- <button id =" theme-toggle-btn" class =" theme-toggle-btn" aria-label =" Toggle light and dark theme" >
65- <span class =" sun-icon" >☀️</span >
66- <span class =" moon-icon" >🌙</span >
67- </button >
64+ <div class =" header-right" >
65+ <button id =" mobile-menu-btn" class =" mobile-menu-btn" aria-label =" Toggle navigation menu" >
66+ <span class =" hamburger-icon" >☰</span >
67+ <span class =" close-icon" >✕</span >
68+ </button >
69+
70+ <button id =" theme-toggle-btn" class =" theme-toggle-btn" aria-label =" Toggle light and dark theme" >
71+ <span class =" sun-icon" >☀️</span >
72+ <span class =" moon-icon" >🌙</span >
73+ </button >
74+ </div >
6875 </div >
6976 </header >
7077
@@ -82,6 +89,15 @@ const navItems = [
8289 localStorage.setItem('theme', nextTheme);
8390 });
8491 }
92+
93+ const menuBtn = document.getElementById('mobile-menu-btn');
94+ const navLinks = document.querySelector('.nav-links');
95+ if (menuBtn && navLinks) {
96+ menuBtn.addEventListener('click', () => {
97+ const isOpen = navLinks.classList.toggle('mobile-open');
98+ menuBtn.classList.toggle('active', isOpen);
99+ });
100+ }
85101 </script >
86102 </body >
87103</html >
@@ -105,6 +121,37 @@ const navItems = [
105121 align-items: center;
106122 }
107123
124+ .header-right {
125+ display: flex;
126+ align-items: center;
127+ gap: 0.5rem;
128+ }
129+
130+ .mobile-menu-btn {
131+ display: none;
132+ background: rgba(255, 255, 255, 0.05);
133+ border: 1px solid var(--border-glass);
134+ border-radius: 8px;
135+ width: 36px;
136+ height: 36px;
137+ align-items: center;
138+ justify-content: center;
139+ cursor: pointer;
140+ color: var(--text-main);
141+ font-size: 1.1rem;
142+ transition: all 0.2s ease;
143+ }
144+
145+ [data-theme="light"] .mobile-menu-btn {
146+ background: rgba(0, 0, 0, 0.05);
147+ }
148+
149+ .hamburger-icon { display: block; }
150+ .close-icon { display: none; }
151+
152+ .mobile-menu-btn.active .hamburger-icon { display: none; }
153+ .mobile-menu-btn.active .close-icon { display: block; }
154+
108155 .nav-links {
109156 display: flex;
110157 gap: 0.35rem;
@@ -188,15 +235,33 @@ const navItems = [
188235 }
189236
190237 @media (max-width: 768px) {
191- .header-content {
192- gap: 0.75rem ;
238+ .mobile-menu-btn {
239+ display: flex ;
193240 }
241+
194242 .nav-links {
195- gap: 0.25rem;
243+ display: none;
244+ width: 100%;
245+ flex-direction: column;
246+ gap: 0.4rem;
247+ padding-top: 1rem;
248+ margin-top: 0.75rem;
249+ border-top: 1px solid var(--border-glass);
250+ }
251+
252+ .nav-links.mobile-open {
253+ display: flex;
196254 }
255+
256+ .header-content {
257+ flex-wrap: wrap;
258+ }
259+
197260 .nav-links a {
198- font-size: 0.82rem;
199- padding: 0.3rem 0.6rem;
261+ width: 100%;
262+ text-align: left;
263+ font-size: 0.95rem;
264+ padding: 0.6rem 0.85rem;
200265 }
201266 }
202267</style >
0 commit comments