@@ -4,40 +4,29 @@ console.log('main.js loaded');
44
55
66( function ( ) {
7- // --- DOM helpers ---
7+ // --- small DOM helpers ---
88 const $all = ( sel , root = document ) => Array . from ( root . querySelectorAll ( sel ) ) ;
99 const $ = ( sel , root = document ) => root . querySelector ( sel ) ;
1010
11-
11+ // =============================================================
1212// Load welcome page by default on first visit
13+ // =============================================================
1314window . addEventListener ( "DOMContentLoaded" , ( ) => {
1415 const content = document . querySelector ( ".content" ) ;
15- if ( ! content ) return ;
16-
17- const params = new URLSearchParams ( window . location . search ) ;
18- const pageFromUrl = params . get ( "page" ) ;
19-
20- if ( pageFromUrl ) {
21- loadPage ( pageFromUrl ) ;
22-
23- const li = document . querySelector ( `.submenu li[data-page="${ pageFromUrl } "]` ) ;
24- if ( li ) {
25- document
26- . querySelectorAll ( ".submenu li.selected" )
27- . forEach ( el => el . classList . remove ( "selected" ) ) ;
28- li . classList . add ( "selected" ) ;
29- }
30-
31- return ;
16+ if ( content ) {
17+ fetch ( "pages/introduction/welcome.html" )
18+ . then ( r => r . text ( ) )
19+ . then ( html => {
20+ content . innerHTML = html ;
21+ // Optionally highlight the matching menu item
22+ const li = document . querySelector ( '.submenu li[data-page="pages/welcome.html"]' ) ;
23+ if ( li ) {
24+ document . querySelectorAll ( ".submenu li.selected" ) . forEach ( el => el . classList . remove ( "selected" ) ) ;
25+ li . classList . add ( "selected" ) ;
26+ }
27+ } )
28+ . catch ( err => console . error ( "Error loading welcome page:" , err ) ) ;
3229 }
33-
34- // fallback only when no ?page=
35- fetch ( "pages/introduction/welcome.html" )
36- . then ( r => r . text ( ) )
37- . then ( html => {
38- content . innerHTML = html ;
39- } )
40- . catch ( err => console . error ( "Error loading welcome page:" , err ) ) ;
4130} ) ;
4231
4332
@@ -60,18 +49,14 @@ window.addEventListener("DOMContentLoaded", () => {
6049document . addEventListener ( 'click' , function ( event ) {
6150 const target = event . target . closest ( '[data-page]' ) ;
6251 if ( ! target ) return ;
63- if ( target . querySelector ( 'a[href]' ) ) return ;
6452 setActiveMenuItem ( target ) ;
6553
6654 // Prevent full page reload
6755 event . preventDefault ( ) ;
6856
6957 const page = target . getAttribute ( 'data-page' ) ;
7058 if ( ! page ) return ;
71-
72- history . pushState ( { page } , '' , `?page=${ encodeURIComponent ( page ) } ` ) ;
73-
74-
59+
7560 // Load the HTML into the main content area
7661 fetch ( page )
7762 . then ( response => response . text ( ) )
@@ -206,7 +191,6 @@ document.addEventListener('click', function (event) {
206191 const homeBtn = document . querySelector ( '.home-btn' ) ;
207192 if ( homeBtn ) {
208193 homeBtn . addEventListener ( 'click' , ( ) => {
209- selectMenuItem ( homeBtn ) ;
210194 const li = document . querySelector ( `.submenu li[data-page="${ HOME_TARGET_PAGE } "]` ) ;
211195 if ( ! li ) return console . warn ( 'Home target not found:' , HOME_TARGET_PAGE ) ;
212196
@@ -334,4 +318,5 @@ document.addEventListener('click', (e) => {
334318 setTimeout ( ( ) => li . classList . remove ( 'spotlight' ) , 1100 ) ;
335319} ) ;
336320
321+
337322} ) ( ) ;
0 commit comments