800800 🚀 Skip to main content
801801 </ a >
802802<!-- Navigation -->
803- < nav aria-label ="Primary " class ="navbar ">
804- < div class ="container nav-wrapper ">
803+ < nav aria-label ="Primary " class ="navbar " id =" mainNavbar " >
804+ < div class ="nav-island ">
805805<!-- LEFT -->
806806< div class ="navbar-brand ">
807807< a class ="logo-wrap " href ="# ">
824824< i class ="fas fa-search "> </ i >
825825< input aria-label ="Search projects " id ="searchInput " placeholder ="Search projects or games... " type ="text "/>
826826</ div >
827+ <!-- HAMBURGER TOGGLE (mobile) -->
828+ < button type ="button " class ="mobile-menu-toggle " id ="mobileMenuToggle " aria-label ="Toggle navigation menu " aria-expanded ="false ">
829+ < i class ="fas fa-bars "> </ i >
830+ </ button >
827831<!-- RIGHT -->
828- < div class ="nav-controls ">
832+ < div class ="nav-controls " id =" navControls " >
829833< button aria-label ="Mute sounds " class ="sound-toggle " id ="soundToggle " type ="button ">
830834< i class ="fas fa-volume-up "> </ i >
831835</ button >
@@ -1426,6 +1430,34 @@ <h3>Stay Updated</h3>
14261430 }
14271431 } ) ;
14281432 } ) ;
1433+
1434+ // Handle Scroll Transitions to resize the floating layout dynamically
1435+ const mainNavbar = document . getElementById ( "mainNavbar" ) ;
1436+ window . addEventListener ( "scroll" , ( ) => {
1437+ if ( window . scrollY > 40 ) {
1438+ mainNavbar . classList . add ( "scrolled" ) ;
1439+ } else {
1440+ mainNavbar . classList . remove ( "scrolled" ) ;
1441+ }
1442+ } ) ;
1443+
1444+ // Mobile Navigation Controls Open/Close interface handlers
1445+ const mobileMenuToggle = document . getElementById ( "mobileMenuToggle" ) ;
1446+ const navControls = document . getElementById ( "navControls" ) ;
1447+
1448+ mobileMenuToggle . addEventListener ( "click" , ( ) => {
1449+ const isActive = navControls . classList . toggle ( "mobile-active" ) ;
1450+ mobileMenuToggle . setAttribute ( "aria-expanded" , isActive ) ;
1451+ mobileMenuToggle . querySelector ( "i" ) . className = isActive ? "fas fa-times" : "fas fa-bars" ;
1452+ } ) ;
1453+
1454+ document . addEventListener ( "click" , ( e ) => {
1455+ if ( ! navControls . contains ( e . target ) && ! mobileMenuToggle . contains ( e . target ) && navControls . classList . contains ( "mobile-active" ) ) {
1456+ navControls . classList . remove ( "mobile-active" ) ;
1457+ mobileMenuToggle . setAttribute ( "aria-expanded" , "false" ) ;
1458+ mobileMenuToggle . querySelector ( "i" ) . className = "fas fa-bars" ;
1459+ }
1460+ } ) ;
14291461 </ script >
14301462</ body >
14311463</ html >
0 commit comments