@@ -13,23 +13,33 @@ document.addEventListener('DOMContentLoaded', () => {
1313 } ) ;
1414 } ) ;
1515
16- // Mobile Menu Toggle
16+ // Mobile Hamburger Menu Toggle (Issue 2)
1717 const menuToggle = document . querySelector ( '.menu-toggle' ) ;
1818 const navLinks = document . querySelector ( '.nav-links' ) ;
1919
2020 if ( menuToggle && navLinks ) {
21- menuToggle . addEventListener ( 'click' , ( ) => {
21+ menuToggle . addEventListener ( 'click' , ( e ) => {
22+ e . stopPropagation ( ) ; // Prevent immediate closing
2223 navLinks . classList . toggle ( 'active' ) ;
2324
2425 // Toggle icon between bars and times
2526 const icon = menuToggle . querySelector ( 'i' ) ;
2627 if ( icon ) {
2728 if ( navLinks . classList . contains ( 'active' ) ) {
28- icon . classList . remove ( 'fa-bars' ) ;
29- icon . classList . add ( 'fa-times' ) ;
29+ icon . classList . replace ( 'fa-bars' , 'fa-xmark' ) ;
3030 } else {
31- icon . classList . remove ( 'fa-times' ) ;
32- icon . classList . add ( 'fa-bars' ) ;
31+ icon . classList . replace ( 'fa-xmark' , 'fa-bars' ) ;
32+ }
33+ }
34+ } ) ;
35+
36+ // Close menu when clicking outside
37+ document . addEventListener ( 'click' , ( e ) => {
38+ if ( navLinks . classList . contains ( 'active' ) && ! navLinks . contains ( e . target ) && ! menuToggle . contains ( e . target ) ) {
39+ navLinks . classList . remove ( 'active' ) ;
40+ const icon = menuToggle . querySelector ( 'i' ) ;
41+ if ( icon ) {
42+ icon . classList . replace ( 'fa-xmark' , 'fa-bars' ) ;
3343 }
3444 }
3545 } ) ;
0 commit comments