diff options
Diffstat (limited to 'static')
-rw-r--r-- | static/menu.js | 18 | ||||
-rw-r--r-- | static/pages.json | 5 |
2 files changed, 17 insertions, 6 deletions
diff --git a/static/menu.js b/static/menu.js index a014793..ee8f977 100644 --- a/static/menu.js +++ b/static/menu.js @@ -76,7 +76,7 @@ createMenu = () => { menuNav.className = 'menuHidden' Object.keys(pages).forEach(p => { - + const entryDiv = document.createElement('div') entryDiv.className = 'menuItem' entryDiv.id = `${p}_menuEntry` @@ -92,6 +92,8 @@ createMenu = () => { name === "" ? ' menuSpacer' : ' menuTitle' else entryDiv.onclick = () => window.location.hash = p; + if ( pages[p].hidden ) entryDiv.style.display = 'none'; + menuNav.append( entryDiv ) }) document.documentElement.lastChild.append( menuNav ) @@ -114,7 +116,7 @@ toggleMenu = () => { if (menuNav.className === '') window.scrollTo(0,0) } -hashToPage = () => { +hashToPage = async () => { const p = !document.location.hash ? Object.keys(pages)[0] : document.location.hash.substr(1) in pages ? document.location.hash.substr(1) : Object.keys(pages)[0] @@ -130,15 +132,19 @@ hashToPage = () => { else document.getElementById(`${currentPage}_page`).className = 'page' pageElement.className = 'page pageActive' - if ( !pageElement.loaded ) fetch( pages[p].URL ) + if ( !pageElement.loaded ) await fetch( pages[p].URL ) .then( response => { if (!response.ok) return `ERROR loading "${pages[p].URL}"!` return response.text() } ) .then( text => { - pageElement.innerHTML = text - pageElement.loaded = true - } ) + pageElement.innerHTML = text; + pageElement.loaded = true; + } ) + if ( pageElement.innerHTML.startsWith("redirect = ") ) { + pageElement.loaded = false; + window.location.assign( pageElement.innerHTML.slice( 11 ) ); + } document.getElementById(`${currentPage}_menuEntry`) .className = 'menuItem' document.getElementById(`${p}_menuEntry`) diff --git a/static/pages.json b/static/pages.json index 4935c1d..4a18ca9 100644 --- a/static/pages.json +++ b/static/pages.json @@ -27,6 +27,11 @@ "pageTitle": "Moderoi sivustoa", "URL": "pages/moderate.html", "menuName": "Moderoi" + }, + "nick": { + "pageTitle": "Anna nimimerkki", + "URL": "pages/nick.html", + "hidden": "yes" } } } |