diff --git a/main.js b/main.js index da4b6df..10fc4c7 100755 --- a/main.js +++ b/main.js @@ -1,53 +1,70 @@ -// I suck at JS okay, don't judge. I know this is horrendous. -// Heavy copy/paste junk. - -var button1 = document.getElementById('button1'); -var button2 = document.getElementById('button2'); -var button3 = document.getElementById('button3'); - -contsrc = "file:///H:/Side projects/Site/"; - -var payload1 = "Hellow"; -//var payload2 = new Promise(function(resolve) { -// setTimeout(resolve(httpGet(contsrc + "pages/about.html")), 100, 'foo')}); -var payload2 = "Ayy"; -var payload3 = "lmao3"; - -function resetButtons() { - button1.className = "nav-button"; - button2.className = "nav-button"; - button3.className = "nav-button"; -} - -function httpGet(myUrl) { - var request = new XMLHttpRequest(); - - request.open('GET', myUrl, true); - request.send(null); - - if (request.status == 200) { - return request.responseText; - } -} - -function setContent(navbutt, payload) { - document.getElementById("page").innerHTML = payload; - resetButtons(); - navbutt.className += " active"; -} - -button1.addEventListener('click', function() { - setContent(button1, payload1); -}, false); - -button2.addEventListener('click', function() { - setContent(button2, payload2); -}, false); - -button3.addEventListener('click', function() { - setContent(button3, payload3); -}, false); - -function initialContent() { - setContent(button1, payload1); +// I suck at JS okay, don't judge. I know this is horrendous. Heavy copy/paste junk. +// Code is commented more than it needs to be because I'm still learning and the comments are basically post-it notes to help me remember. +// Ajax is entirely pointless for this site, but I did it to learn. + +// Find all our buttons +const button1 = document.getElementById('button1'); +const button2 = document.getElementById('button2'); +const button3 = document.getElementById('button3'); + +// Make the base URL a variable because it's easier if I ever move the site +const baseUrl = "file:///H:/Side projects/Site/"; + +// Create variables that will get populated by loadContent() later +var payload1; +var payload2; +var payload3; + +// Very bad function to get rid of the "active" class wherever it is atm +function resetButtons() { + button1.className = "nav-button"; + button2.className = "nav-button"; + button3.className = "nav-button"; +} + +// Fetch all the page contents +async function loadContent(baseUrl) { + const http1 = fetch(baseUrl + "pages/about.html"); + const http2 = fetch(baseUrl + "pages/about.html"); + const http3 = fetch(baseUrl + "pages/about.html"); + + const requests = [http1, http2, http3]; + + const responses = await Promise.all(requests); + + for (let response of responses) { + console.log("Loaded data") + } + + return responses +} + +function setContent(navbutt, payload) { + document.getElementById("page").innerHTML = payload; + resetButtons(); + navbutt.className += " active"; +} + +function initialContent() { + + // Get the HTML we need + var contents = loadContent(); + + payload1 = contents[0]; + payload2 = contents[1]; + payload3 = contents[2]; + + // Slap on all the event listeners + button1.addEventListener('click', function() { + setContent(button1, payload1); + }, false); + button2.addEventListener('click', function() { + setContent(button2, payload2); + }, false); + button3.addEventListener('click', function() { + setContent(button3, payload3); + }, false); + + // And finally enable the first tab + setContent(button1, payload1); } \ No newline at end of file