{"version":3,"sources":["scripts.js"],"names":["appJS","Init","Menus","HomepageBackground","AddExternalLinkTarget","window","addEventListener","document","querySelector","e","this","classList","toggle","scrollTo","querySelectorAll","forEach","submenu","innerWidth","adminHeight","backgroundHeight","offsetHeight","scrollHeight","style","height","removeProperty","Array","from","getElementsByTagName","link","host","location","hasAttribute","setAttribute","LoadMorePosts","currentPage","parseInt","getAttribute","page","fetch","protocol","hostname","then","res","json","response","length","post","card","createElement","innerHTML","url","img","title","excerpt","getElementById","appendChild","max","display","updatePosts","catch","error","console"],"mappings":"AAAA,IAAAA,MAAA,CACAC,KAAA,WACAD,MAAAE,QACAF,MAAAG,qBACAH,MAAAI,wBACAC,OAAAC,iBAAA,SAAAN,MAAAG,mBACA,EACAD,MAAA,WACAK,SAAAC,cAAA,gBACAF,iBAAA,SAAA,SAAAG,GACAC,KAAAC,UAAAC,OAAA,QACAL,SAAAC,cAAA,QAAAG,UAAAC,OAAA,kBACAP,OAAAQ,SAAA,EAAA,EACA,IACAN,SAAAO,iBAAA,2BACAC,SAAAC,IACAA,EAAAV,iBAAA,SAAA,SAAAG,GACAC,KAAAC,UAAAC,OAAA,OACA,GAAA,GAEA,EACAT,mBAAA,WACA,GAAAI,SAAAC,cAAA,aACA,GAAAH,OAAAY,YAAA,IAAA,CACA,GAAAV,SAAAC,cAAA,eACA,GAAAH,OAAAY,YAAA,IACA,IAAAC,EAAA,QACA,GAAAb,OAAAY,WAAA,IACAC,EAAA,QAGAA,EAAA,EAEA,IAAAC,EAAAD,EAAAX,SAAAC,cAAA,gBAAAY,aAAAb,SAAAC,cAAA,SAAAa,aAAA,KACAd,SAAAC,cAAA,aAAAc,MAAAC,OAAAJ,CACA,MACAZ,SAAAC,cAAA,aAAAc,MAAAE,eAAA,SAGA,EACApB,sBAAA,WACAqB,MAAAC,KAAAnB,SAAAoB,qBAAA,MACAZ,SAAAa,IACAA,EAAAC,OAAAxB,OAAAyB,SAAAD,MAAAD,EAAAG,aAAA,WACAH,EAAAI,aAAA,SAAA,SACA,GAEA,EACAC,cAAA,WACA1B,SAAAC,cAAA,oBAAAF,iBAAA,SAAA,WACAC,SAAAC,cAAA,oBAAAG,UAAAC,OAAA,WACA,IAAAsB,EAAAC,SAAAzB,KAAA0B,aAAA,cAKA,IAAAC,IAJAH,EAAA,EAKAI,MAAAjC,OAAAyB,SAAAS,SAAA,KAAAlC,OAAAyB,SAAAU,SAAA,gCAAAH,GACAI,MAAAC,GAAAA,EAAAC,SACAF,MAAAG,KAMA,SAAAA,EAAAP,GACAO,EAAAC,QACAD,EAaA7B,SAAA+B,IACA,IAAAC,EAAAxC,SAAAyC,cAAA,WACAD,EAAAE,UAAA,uCAAAH,EAAAI,2CAAAJ,EAAAK,aAAAL,EAAAM,2EAAAN,EAAAM,6CAAAN,EAAAO,yBAAAP,EAAAI,oEACA3C,SAAA+C,eAAA,cAAAC,YAAAR,EAAA,IAfAH,EAAA,GAAAY,MAAAnB,GACA9B,SAAAC,cAAA,oBAAAG,UAAAC,OAAA,WACAL,SAAAC,cAAA,oBAAAwB,aAAA,YAAAK,IAEA9B,SAAAC,cAAA,oBAAAc,MAAAmC,QAAA,QAGAlD,SAAAC,cAAA,oBAAAc,MAAAmC,QAAA,MAEA,CAjBAC,CAAAd,EAAAP,EAAA,IAEAsB,OAAAC,GAAAC,QAAAD,MAAA,SAAAA,IARA,GAgCA,GAGA5D,MAAAC","file":"scripts.min.js","sourcesContent":["let appJS = {\n Init: function() {\n appJS.Menus();\n appJS.HomepageBackground();\n appJS.AddExternalLinkTarget();\n window.addEventListener('resize', appJS.HomepageBackground);\n },\n Menus: function() {\n let menuButton = document.querySelector('.menu-button');\n menuButton.addEventListener('click', function(e) {\n this.classList.toggle('open');\n document.querySelector('body').classList.toggle('main-menu-open');\n window.scrollTo(0, 0);\n });\n let submenuHolders = document.querySelectorAll('.menu-item-has-children');\n submenuHolders.forEach( submenu => {\n submenu.addEventListener('click', function(e) {\n this.classList.toggle('open');\n });\n });\n },\n HomepageBackground: function() {\n if(document.querySelector('.hero__bg')){\n if (window.innerWidth >= 630){\n if(document.querySelector('.admin-bar')){\n if (window.innerWidth >= 783){\n var adminHeight = 32;\n } else if (window.innerWidth < 783) {\n var adminHeight = 46;\n }\n } else {\n var adminHeight = 0;\n }\n let backgroundHeight = adminHeight + document.querySelector('.site-header').offsetHeight + document.querySelector('.hero').scrollHeight + 'px';\n document.querySelector('.hero__bg').style.height = backgroundHeight;\n } else {\n document.querySelector('.hero__bg').style.removeProperty('height');\n }\n }\n },\n AddExternalLinkTarget: function() {\n let links = Array.from(document.getElementsByTagName('a'));\n links.forEach( link => {\n if (link.host !== window.location.host && !link.hasAttribute(\"target\")) {\n link.setAttribute(\"target\", \"_blank\");\n }\n });\n },\n LoadMorePosts: function() {\n document.querySelector('.load-more-posts').addEventListener('click', function(){\n document.querySelector('.load-more-posts').classList.toggle('loading');\n let currentPage = parseInt(this.getAttribute('data-page'));\n let newPage = currentPage + 1;\n fetchPosts(newPage);\n });\n\n function fetchPosts(page){\n fetch(window.location.protocol + '//' + window.location.hostname +'/wp-json/blog/all-posts?page='+page)\n .then( res => res.json() )\n .then(response => {\n updatePosts(response, page);\n }) \n .catch(error => console.error('Error:', error));\n }\n \n function updatePosts(response, page){\n if (response.length){\n populateNewPosts(response);\n if (response[0].max !== page){\n document.querySelector('.load-more-posts').classList.toggle('loading');\n document.querySelector('.load-more-posts').setAttribute('data-page',page);\n } else {\n document.querySelector('.load-more-posts').style.display = 'none';\n }\n } else {\n document.querySelector('.load-more-posts').style.display = 'none';\n }\n }\n\n function populateNewPosts(posts){\n posts.forEach( post => {\n let card = document.createElement(\"article\");\n card.innerHTML = `
\"${post.title}\"/

${post.title}

${post.excerpt}
Read more
`;\n document.getElementById(\"blog-cards\").appendChild(card);\n });\n }\n }\n \n}\nappJS.Init();"]}