From 85d8f37afd38f91446c112985a933831e68ba9b1 Mon Sep 17 00:00:00 2001 From: prospect Date: Fri, 19 Jan 2024 07:25:20 -0500 Subject: [PATCH] starting grammar cleanup --- assets/css/styles.css | 35 ++++------------------------------- assets/js/index.js | 16 +++++++++++----- assets/js/index.js.map | 2 +- 3 files changed, 16 insertions(+), 37 deletions(-) diff --git a/assets/css/styles.css b/assets/css/styles.css index 63503bf..15fe0cf 100644 --- a/assets/css/styles.css +++ b/assets/css/styles.css @@ -2040,43 +2040,16 @@ body.login { #content-container.page-transition { opacity: 0; - transform: perspective(800px) rotateY(-90deg) scale(0.9); - transform-origin: left center; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); - background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 50%, transparent 50%); - background-size: 200% 100%; - transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-position 0.3s ease-in-out; + transform: translatex(-100%); + transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; } #content-container:not(.page-transition) { opacity: 1; - transform: perspective(800px) rotateY(0deg) scale(1); - transform-origin: left center; - box-shadow: 0 0 20px rgba(0, 0, 0, 0); - background-position: 100% 0; - transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-position 0.3s ease-in-out; + transform: translateY(0); + transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out; } -@media (min-width: 1024px) { - #content-container.page-transition { - opacity: 0; - transform: perspective(800px) rotateY(-5deg) scale(1); - transform-origin: left center; - box-shadow: 0 0 20px rgba(0, 0, 0, 0.2); - background: linear-gradient(to right, rgba(255, 255, 255, 0.8) 50%, transparent 50%); - background-size: 200% 100%; - background-position: 100% 0; - transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-position 0.3s ease-in-out; - } - #content-container:not(.page-transition) { - opacity: 1; - transform: perspective(800px) rotateY(0deg) scale(1); - transform-origin: left center; - box-shadow: 0 0 20px rgba(0, 0, 0, 0); - background-position: 0 0; - transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-position 0.3s ease-in-out; - } -} #footer-nav.out-of-view { opacity: 0; translate: 0 100%; diff --git a/assets/js/index.js b/assets/js/index.js index 5fe999c..e6d3cc8 100644 --- a/assets/js/index.js +++ b/assets/js/index.js @@ -112,14 +112,15 @@ class PageTransitions { if (this.navControl.toggleMenuBtn.classList.contains('active')) { this.navControl.toggleNavMenu(); } - if (this.isExternalLink(link)) { - link.setAttribute('target', '_blank'); - window.open(link, '_blank'); - } - if (!this.isExternalLink(link)) { + if (!this.isExternalLink(link) && this.isWordPressAdminLink(link)) { + window.location.href = link.href; // Navigate normally + } else if (!this.isExternalLink(link)) { this.animatePageTransition(() => { this.loadContent(link.getAttribute('href'), 'content-container'); }); + } else if (this.isExternalLink(link)) { + link.setAttribute('target', '_blank'); + window.open(link, '_system'); } }); }); @@ -186,6 +187,11 @@ class PageTransitions { const linkDomain = link.hostname; return linkDomain !== currentDomain; } + isWordPressAdminLink(link) { + // Customize the condition based on your WordPress admin URL structure + const adminUrlRegex = /^.*\/wp-admin\//; + return adminUrlRegex.test(link.href); + } } /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (PageTransitions); diff --git a/assets/js/index.js.map b/assets/js/index.js.map index 3f8aeed..8de3c17 100644 --- a/assets/js/index.js.map +++ b/assets/js/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","mappings":";;;;;;;;;;;;;;AAAA,MAAMA,aAAa,CAAC;EAClBC,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACLC,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;MAClD,IAAI,CAACC,yBAAyB,CAAC,mBAAmB,CAAC;IACrD,CAAC,CAAC;EACJ;EAEAA,yBAAyBA,CAACC,QAAQ,EAAE;IAClC,IAAI,CAACC,OAAO,GAAGJ,QAAQ,CAACK,gBAAgB,CAACF,QAAQ,CAAC;IAClD,IAAI,CAACC,OAAO,CAACE,OAAO,CAAEC,MAAM,IAAK;MAC/BA,MAAM,CAACN,gBAAgB,CAAC,OAAO,EAAE,MAAM;QACrCM,MAAM,CAACC,UAAU,CAACA,UAAU,CAACC,SAAS,CAACF,MAAM,CAAC,QAAQ,CAAC;MACzD,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;AAEF;AAEA,iEAAeV,aAAa;;;;;;;;;;;;;;ACtB5B,MAAMa,GAAG,CAAC;EACRZ,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACa,aAAa,GAAGX,QAAQ,CAACY,cAAc,CAAC,YAAY,CAAC;IAC1D,IAAI,CAACC,kBAAkB,GAAGb,QAAQ,CAACY,cAAc,CAAC,gBAAgB,CAAC;IACnE,IAAI,CAACE,UAAU,GAAGd,QAAQ,CAACK,gBAAgB,CAAC,4BAA4B,CAAC;IACzE,IAAI,CAACN,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACL;IACAC,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;MAClD;MACA,IAAID,QAAQ,CAACe,eAAe,CAACC,iBAAiB,EAAE;QAC9C;QACAhB,QAAQ,CAACe,eAAe,CAACC,iBAAiB,CAAC,CAAC;MAC9C;MAEA,IAAI,CAACL,aAAa,CAACV,gBAAgB,CAAC,OAAO,EAAE,MAAM,IAAI,CAACgB,aAAa,CAAC,CAAC,CAAC;IAC1E,CAAC,CAAC;EACJ;EAEAA,aAAaA,CAAA,EAAG;IACd,IAAI,CAACN,aAAa,CAACF,SAAS,CAACF,MAAM,CAAC,QAAQ,CAAC;IAC7C,IAAI,CAACM,kBAAkB,CAACJ,SAAS,CAACF,MAAM,CAAC,MAAM,CAAC;IAChDP,QAAQ,CAACkB,IAAI,CAACT,SAAS,CAACF,MAAM,CAAC,UAAU,CAAC;IAC1C,IAAI,CAACY,qBAAqB,CAAC,CAAC;EAC9B;EAEAA,qBAAqBA,CAAA,EAAG;IACtBC,UAAU,CAAC,MAAM;MACf,IAAI,CAACN,UAAU,CAACR,OAAO,CAAEe,SAAS,IAAK;QACrCA,SAAS,CAACZ,SAAS,CAACa,MAAM,CAAC,QAAQ,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,EAAE,GAAG,CAAC;EACT;AACF;AAEA,iEAAeZ,GAAG;;;;;;;;;;;;;;;;ACrCyB;AACN;AAErC,MAAMc,eAAe,CAAC;EACpB1B,WAAWA,CAAA,EAAG;IACZ,IAAI,CAACC,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACLC,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;MAClD,IAAI,CAACwB,oBAAoB,CAAC,GAAG,CAAC;IAChC,CAAC,CAAC;EACJ;EAEAA,oBAAoBA,CAACtB,QAAQ,EAAE;IAC7B,IAAI,CAACuB,KAAK,GAAG1B,QAAQ,CAACK,gBAAgB,CAACF,QAAQ,CAAC;IAChD,IAAI,CAACuB,KAAK,CAACpB,OAAO,CAAEqB,IAAI,IAAK;MAC3BA,IAAI,CAAC1B,gBAAgB,CAAC,OAAO,EAAG2B,CAAC,IAAK;QACpCA,CAAC,CAACC,cAAc,CAAC,CAAC;QAClB,IAAI,CAACC,UAAU,GAAG,IAAIP,mDAAU,CAAC,CAAC;QAClC,IAAI,IAAI,CAACO,UAAU,CAACnB,aAAa,CAACF,SAAS,CAACsB,QAAQ,CAAC,QAAQ,CAAC,EAAE;UAC9D,IAAI,CAACD,UAAU,CAACb,aAAa,CAAC,CAAC;QACjC;QACA,IAAI,IAAI,CAACe,cAAc,CAACL,IAAI,CAAC,EAAE;UAC7BA,IAAI,CAACM,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC;UACrCC,MAAM,CAACC,IAAI,CAACR,IAAI,EAAE,QAAQ,CAAC;QAC7B;QACA,IAAI,CAAC,IAAI,CAACK,cAAc,CAACL,IAAI,CAAC,EAAE;UAC9B,IAAI,CAACS,qBAAqB,CAAC,MAAM;YAC/B,IAAI,CAACC,WAAW,CAACV,IAAI,CAACW,YAAY,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;UAClE,CAAC,CAAC;QACJ;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEAF,qBAAqBA,CAACG,QAAQ,EAAE;IAC9B,MAAMC,gBAAgB,GAAGxC,QAAQ,CAACY,cAAc,CAAC,mBAAmB,CAAC;;IAErE;IACA,IAAI,CAAC6B,kBAAkB,CAACD,gBAAgB,CAAC;;IAEzC;IACAD,QAAQ,CAAC,CAAC,EAAC;EACb;EAEAE,kBAAkBA,CAACC,OAAO,EAAE;IAC1BA,OAAO,CAACjC,SAAS,CAACkC,GAAG,CAAC,iBAAiB,CAAC;EAC1C;EAEAC,qBAAqBA,CAACF,OAAO,EAAE;IAC7BA,OAAO,CAACjC,SAAS,CAACa,MAAM,CAAC,iBAAiB,CAAC;EAC7C;EAEAe,WAAWA,CAACQ,SAAS,EAAEC,SAAS,EAAE;IAChC,MAAMN,gBAAgB,GAAGxC,QAAQ,CAACY,cAAc,CAAC,mBAAmB,CAAC;IAErEmC,KAAK,CAACF,SAAS,CAAC,CACbG,IAAI,CAAEC,QAAQ,IAAKA,QAAQ,CAACC,IAAI,CAAC,CAAC,CAAC,CACnCF,IAAI,CAAEG,IAAI,IAAK;MACd,IAAI,CAACC,aAAa,CAACD,IAAI,EAAEL,SAAS,CAAC;MACnCO,OAAO,CAACC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAET,SAAS,CAAC;MACxC;MACA,IAAI,CAACD,qBAAqB,CAACJ,gBAAgB,CAAC;IAC9C,CAAC,CAAC,CACDe,KAAK,CAAEC,KAAK,IAAKC,OAAO,CAACD,KAAK,CAAC,yBAAyB,EAAEA,KAAK,CAAC,CAAC;EACtE;EAEAJ,aAAaA,CAACD,IAAI,EAAEL,SAAS,EAAE;IAC7B,MAAMN,gBAAgB,GAAGxC,QAAQ,CAACY,cAAc,CAAC,mBAAmB,CAAC;IACrE,MAAM8C,UAAU,GAAG,IAAIC,SAAS,CAAC,CAAC,CAACC,eAAe,CAACT,IAAI,EAAE,WAAW,CAAC;IACrE,MAAMU,aAAa,GAAGH,UAAU,CAAC9C,cAAc,CAACkC,SAAS,CAAC;IAE1D,IAAIe,aAAa,EAAE;MACjB,MAAMC,UAAU,GAAGD,aAAa,CAACE,SAAS;;MAE1C;MACAvB,gBAAgB,CAACuB,SAAS,GAAGD,UAAU;;MAEvC;MACA,MAAME,QAAQ,GAAGN,UAAU,CAACO,aAAa,CAAC,OAAO,CAAC;MAClD,IAAID,QAAQ,EAAE;QACZhE,QAAQ,CAACkE,KAAK,GAAGF,QAAQ,CAACG,WAAW;MACvC;;MAEA;MACA;MACA;MACA;MACA;MACA;;MAEA;MACA,IAAI,CAACC,aAAa,GAAG,IAAIvE,sDAAa,CAAC,CAAC;MACxC,IAAI,CAACuE,aAAa,CAAClE,yBAAyB,CAAC,sCAAsC,CAAC;MACpF,IAAI,CAACuB,oBAAoB,CAAC,sBAAsB,CAAC;IACnD,CAAC,MAAM;MACLgC,OAAO,CAACD,KAAK,CAAE,oBAAmBV,SAAU,iCAAgC,CAAC;IAC/E;EACF;;EAEA;EACAd,cAAcA,CAACL,IAAI,EAAE;IACnB,MAAM0C,aAAa,GAAGnC,MAAM,CAACoC,QAAQ,CAACC,QAAQ;IAC9C,MAAMC,UAAU,GAAG7C,IAAI,CAAC4C,QAAQ;IAEhC,OAAOC,UAAU,KAAKH,aAAa;EACrC;AACF;AAEA,iEAAe7C,eAAe;;;;;;;;;;;;;;AC9G9B,MAAMiD,YAAY,CAAC;EACjB3E,WAAWA,CAAA,EAAG;IACZ,IAAI,CAAC4E,YAAY,GAAG1E,QAAQ,CAACY,cAAc,CAAC,eAAe,CAAC;IAC5D,IAAI,CAAC+D,WAAW,GAAG3E,QAAQ,CAACY,cAAc,CAAC,WAAW,CAAC;IACvD,IAAI,CAACgE,SAAS,GAAG5E,QAAQ,CAACY,cAAc,CAAC,YAAY,CAAC;IACtD,IAAI,CAACiE,SAAS,GAAG7E,QAAQ,CAACY,cAAc,CAAC,YAAY,CAAC;IAEtD,IAAI,CAACb,IAAI,CAAC,CAAC;EACb;EAEAA,IAAIA,CAAA,EAAG;IACLC,QAAQ,CAACC,gBAAgB,CAAC,kBAAkB,EAAE,MAAM;MAClD,IAAI,CAAC6E,eAAe,CAAC,CAAC;IACxB,CAAC,CAAC;EACJ;EAEAA,eAAeA,CAAA,EAAG;IAChB,IAAI,CAACC,cAAc,CAACC,OAAO,CAAC,SAAS,CAAC,EAAE;MACtC,IAAI,CAACC,gBAAgB,CAAC,CAAC;MACvB,IAAI,CAACC,iBAAiB,CAAC,CAAC;IAC1B;EACF;EAEAD,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACP,YAAY,CAACjE,SAAS,CAACa,MAAM,CAAC,QAAQ,CAAC;IAC5C,IAAI,CAACsD,SAAS,CAACnE,SAAS,CAACkC,GAAG,CAAC,aAAa,CAAC;IAC3C,IAAI,CAACkC,SAAS,CAACpE,SAAS,CAACkC,GAAG,CAAC,aAAa,CAAC;EAC7C;EAEAwC,gBAAgBA,CAAA,EAAG;IACjB,IAAI,CAACT,YAAY,CAACjE,SAAS,CAACkC,GAAG,CAAC,OAAO,CAAC;IACxCvB,UAAU,CAAC,MAAM;MACf,IAAI,CAACwD,SAAS,CAACnE,SAAS,CAACkC,GAAG,CAAC,SAAS,CAAC;MACvC,IAAI,CAACkC,SAAS,CAACpE,SAAS,CAACkC,GAAG,CAAC,SAAS,CAAC;MACvC,IAAI,CAAC+B,YAAY,CAACjE,SAAS,CAACkC,GAAG,CAAC,QAAQ,CAAC;IAC3C,CAAC,EAAE,GAAG,CAAC;IACPvB,UAAU,CAAC,MAAM;MACf,IAAI,CAACwD,SAAS,CAACnE,SAAS,CAACa,MAAM,CAAC,aAAa,CAAC;MAC9C,IAAI,CAACuD,SAAS,CAACpE,SAAS,CAACa,MAAM,CAAC,aAAa,CAAC;MAC9C,IAAI,CAACsD,SAAS,CAACnE,SAAS,CAACa,MAAM,CAAC,SAAS,CAAC;MAC1C,IAAI,CAACuD,SAAS,CAACpE,SAAS,CAACa,MAAM,CAAC,SAAS,CAAC;IAC5C,CAAC,EAAE,IAAI,CAAC;EACV;EAEA4D,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACP,WAAW,CAAC1E,gBAAgB,CAAC,OAAO,EAAE,MAAM;MAC/C,IAAI,CAACkF,gBAAgB,CAAC,CAAC;MACvBJ,cAAc,CAACK,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;IACzC,CAAC,CAAC;EACJ;AACF;AAEA,iEAAeX,YAAY;;;;;;;;;;;;;;ACpD3B,MAAMY,IAAI,CAAC;EACTvF,WAAWA,CAAA,EAAG;IACZ2D,OAAO,CAAC6B,GAAG,CAAC,qCAAqC,CAAC;EACpD;AACF;AAEA,iEAAeD,IAAI;;;;;;UCNnB;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;ACNA;AACA;AACuC;AACM;AACM;AACF;AACM;;AAEvD;AACA;;AAEA,MAAME,UAAU,GAAG,IAAIF,2DAAI,CAAC,CAAC;AAC7B,MAAMvD,UAAU,GAAG,IAAIP,2DAAU,CAAC,CAAC;AACnC,MAAM6C,aAAa,GAAG,IAAIvE,8DAAa,CAAC,CAAC;AACzC,MAAM6E,YAAY,GAAG,IAAID,6DAAY,CAAC,CAAC;AACvC,MAAMe,eAAe,GAAG,IAAIhE,gEAAe,CAAC,CAAC,C","sources":["webpack://starter/./src/modules/CollapsePanel.js","webpack://starter/./src/modules/NavControl.js","webpack://starter/./src/modules/PageTransitions.js","webpack://starter/./src/modules/SplashScreen.js","webpack://starter/./src/modules/TestModule.js","webpack://starter/webpack/bootstrap","webpack://starter/webpack/runtime/define property getters","webpack://starter/webpack/runtime/hasOwnProperty shorthand","webpack://starter/webpack/runtime/make namespace object","webpack://starter/./src/index.js"],"sourcesContent":["class CollapsePanel {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addToggleCollapseListener('.accordion-toggle')\r\n })\r\n }\r\n\r\n addToggleCollapseListener(selector) {\r\n this.toggles = document.querySelectorAll(selector)\r\n this.toggles.forEach((toggle) => {\r\n toggle.addEventListener('click', () => {\r\n toggle.parentNode.parentNode.classList.toggle('active')\r\n })\r\n })\r\n }\r\n \r\n}\r\n\r\nexport default CollapsePanel\r\n","class Nav {\r\n constructor() {\r\n this.toggleMenuBtn = document.getElementById('toggle-nav')\r\n this.toggleSlideOutMenu = document.getElementById('slide-out-menu')\r\n this.accordions = document.querySelectorAll('#slide-out-menu .accordion')\r\n this.init()\r\n }\r\n\r\n init() {\r\n // Open and Close the Nav Menu\r\n document.addEventListener('DOMContentLoaded', () => {\r\n // Check if fullscreen is supported\r\n if (document.documentElement.requestFullscreen) {\r\n // Request fullscreen\r\n document.documentElement.requestFullscreen()\r\n }\r\n\r\n this.toggleMenuBtn.addEventListener('click', () => this.toggleNavMenu())\r\n })\r\n }\r\n\r\n toggleNavMenu() {\r\n this.toggleMenuBtn.classList.toggle('active')\r\n this.toggleSlideOutMenu.classList.toggle('open')\r\n document.body.classList.toggle('noScroll')\r\n this.collapseAllAccordions()\r\n }\r\n\r\n collapseAllAccordions() {\r\n setTimeout(() => {\r\n this.accordions.forEach((accordion) => {\r\n accordion.classList.remove('active')\r\n })\r\n }, 600)\r\n }\r\n}\r\n\r\nexport default Nav\r\n","import CollapsePanel from './CollapsePanel'\r\nimport NavControl from './NavControl'\r\n\r\nclass PageTransitions {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addLinkClickListener('a')\r\n })\r\n }\r\n\r\n addLinkClickListener(selector) {\r\n this.links = document.querySelectorAll(selector)\r\n this.links.forEach((link) => {\r\n link.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n this.navControl = new NavControl()\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n if (this.isExternalLink(link)) {\r\n link.setAttribute('target', '_blank')\r\n window.open(link, '_blank')\r\n }\r\n if (!this.isExternalLink(link)) {\r\n this.animatePageTransition(() => {\r\n this.loadContent(link.getAttribute('href'), 'content-container')\r\n })\r\n }\r\n })\r\n })\r\n }\r\n\r\n animatePageTransition(callback) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n // Add the transition class\r\n this.addTransitionClass(contentContainer)\r\n\r\n // Wait for the transition to complete\r\n callback() // Call the callback function (loading content) after the transition\r\n }\r\n\r\n addTransitionClass(element) {\r\n element.classList.add('page-transition')\r\n }\r\n\r\n removeTransitionClass(element) {\r\n element.classList.remove('page-transition')\r\n }\r\n\r\n loadContent(targetUrl, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n fetch(targetUrl)\r\n .then((response) => response.text())\r\n .then((data) => {\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n // Trigger removal of transition class after fetching data\r\n this.removeTransitionClass(contentContainer)\r\n })\r\n .catch((error) => console.error('Error fetching content:', error))\r\n }\r\n\r\n updateContent(data, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n const parsedData = new DOMParser().parseFromString(data, 'text/html')\r\n const targetElement = parsedData.getElementById(elementId)\r\n\r\n if (targetElement) {\r\n const newContent = targetElement.innerHTML\r\n\r\n // Update the content container\r\n contentContainer.innerHTML = newContent\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Other dynamic updates can go here, for example:\r\n // const newMetaDescription = parsedData.querySelector('meta[name=\"description\"]');\r\n // if (newMetaDescription) {\r\n // const currentMetaDescription = document.querySelector('meta[name=\"description\"]');\r\n // currentMetaDescription.setAttribute('content', newMetaDescription.getAttribute('content'));\r\n // }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n } else {\r\n console.error(`Element with ID '${elementId}' not found in the fetched data`)\r\n }\r\n }\r\n\r\n // Function to check if a link is external\r\n isExternalLink(link) {\r\n const currentDomain = window.location.hostname\r\n const linkDomain = link.hostname\r\n\r\n return linkDomain !== currentDomain\r\n }\r\n}\r\n\r\nexport default PageTransitions\r\n","class SplashScreen {\r\n constructor() {\r\n this.splashScreen = document.getElementById('splash-screen')\r\n this.enterButton = document.getElementById('app-enter')\r\n this.headerNav = document.getElementById('header-nav')\r\n this.footerNav = document.getElementById('footer-nav')\r\n\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.checkFirstVisit()\r\n })\r\n }\r\n\r\n checkFirstVisit() {\r\n if (!sessionStorage.getItem('visited')) {\r\n this.showSplashScreen()\r\n this.addEventListeners()\r\n }\r\n }\r\n\r\n showSplashScreen() {\r\n this.splashScreen.classList.remove('hidden')\r\n this.headerNav.classList.add('out-of-view')\r\n this.footerNav.classList.add('out-of-view')\r\n }\r\n\r\n hideSplashScreen() {\r\n this.splashScreen.classList.add('close')\r\n setTimeout(() => {\r\n this.headerNav.classList.add('in-view')\r\n this.footerNav.classList.add('in-view')\r\n this.splashScreen.classList.add('hidden')\r\n }, 600)\r\n setTimeout(() => {\r\n this.headerNav.classList.remove('out-of-view')\r\n this.footerNav.classList.remove('out-of-view')\r\n this.headerNav.classList.remove('in-view')\r\n this.footerNav.classList.remove('in-view')\r\n }, 2000)\r\n }\r\n\r\n addEventListeners() {\r\n this.enterButton.addEventListener('click', () => {\r\n this.hideSplashScreen()\r\n sessionStorage.setItem('visited', true)\r\n })\r\n }\r\n}\r\n\r\nexport default SplashScreen\r\n","class Test {\r\n constructor() {\r\n console.log('This Module is for testing purposes')\r\n }\r\n}\r\n\r\nexport default Test\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Our modules / classes\r\n// Import modules e.g import MobileMenu from \"./modules/MobileMenu\"\r\nimport Test from './modules/TestModule'\r\nimport NavControl from './modules/NavControl'\r\nimport CollapsePanel from './modules/CollapsePanel'\r\nimport SplashScreen from './modules/SplashScreen'\r\nimport PageTransitions from './modules/PageTransitions'\r\n\r\n// Instantiate a new object using our modules/classes\r\n// e.g var mobileMenu = new MobileMenu()\r\n\r\nconst testModule = new Test()\r\nconst navControl = new NavControl()\r\nconst collapsePanel = new CollapsePanel()\r\nconst splashScreen = new SplashScreen()\r\nconst pageTransitions = new PageTransitions()\r\n"],"names":["CollapsePanel","constructor","init","document","addEventListener","addToggleCollapseListener","selector","toggles","querySelectorAll","forEach","toggle","parentNode","classList","Nav","toggleMenuBtn","getElementById","toggleSlideOutMenu","accordions","documentElement","requestFullscreen","toggleNavMenu","body","collapseAllAccordions","setTimeout","accordion","remove","NavControl","PageTransitions","addLinkClickListener","links","link","e","preventDefault","navControl","contains","isExternalLink","setAttribute","window","open","animatePageTransition","loadContent","getAttribute","callback","contentContainer","addTransitionClass","element","add","removeTransitionClass","targetUrl","elementId","fetch","then","response","text","data","updateContent","history","pushState","catch","error","console","parsedData","DOMParser","parseFromString","targetElement","newContent","innerHTML","newTitle","querySelector","title","textContent","collapsePanel","currentDomain","location","hostname","linkDomain","SplashScreen","splashScreen","enterButton","headerNav","footerNav","checkFirstVisit","sessionStorage","getItem","showSplashScreen","addEventListeners","hideSplashScreen","setItem","Test","log","testModule","pageTransitions"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.js","mappings":"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","sources":["webpack://starter/./src/modules/CollapsePanel.js","webpack://starter/./src/modules/NavControl.js","webpack://starter/./src/modules/PageTransitions.js","webpack://starter/./src/modules/SplashScreen.js","webpack://starter/./src/modules/TestModule.js","webpack://starter/webpack/bootstrap","webpack://starter/webpack/runtime/define property getters","webpack://starter/webpack/runtime/hasOwnProperty shorthand","webpack://starter/webpack/runtime/make namespace object","webpack://starter/./src/index.js"],"sourcesContent":["class CollapsePanel {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addToggleCollapseListener('.accordion-toggle')\r\n })\r\n }\r\n\r\n addToggleCollapseListener(selector) {\r\n this.toggles = document.querySelectorAll(selector)\r\n this.toggles.forEach((toggle) => {\r\n toggle.addEventListener('click', () => {\r\n toggle.parentNode.parentNode.classList.toggle('active')\r\n })\r\n })\r\n }\r\n \r\n}\r\n\r\nexport default CollapsePanel\r\n","class Nav {\r\n constructor() {\r\n this.toggleMenuBtn = document.getElementById('toggle-nav')\r\n this.toggleSlideOutMenu = document.getElementById('slide-out-menu')\r\n this.accordions = document.querySelectorAll('#slide-out-menu .accordion')\r\n this.init()\r\n }\r\n\r\n init() {\r\n // Open and Close the Nav Menu\r\n document.addEventListener('DOMContentLoaded', () => {\r\n // Check if fullscreen is supported\r\n if (document.documentElement.requestFullscreen) {\r\n // Request fullscreen\r\n document.documentElement.requestFullscreen()\r\n }\r\n\r\n this.toggleMenuBtn.addEventListener('click', () => this.toggleNavMenu())\r\n })\r\n }\r\n\r\n toggleNavMenu() {\r\n this.toggleMenuBtn.classList.toggle('active')\r\n this.toggleSlideOutMenu.classList.toggle('open')\r\n document.body.classList.toggle('noScroll')\r\n this.collapseAllAccordions()\r\n }\r\n\r\n collapseAllAccordions() {\r\n setTimeout(() => {\r\n this.accordions.forEach((accordion) => {\r\n accordion.classList.remove('active')\r\n })\r\n }, 600)\r\n }\r\n}\r\n\r\nexport default Nav\r\n","import CollapsePanel from './CollapsePanel'\r\nimport NavControl from './NavControl'\r\n\r\nclass PageTransitions {\r\n constructor() {\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.addLinkClickListener('a')\r\n })\r\n }\r\n\r\n addLinkClickListener(selector) {\r\n this.links = document.querySelectorAll(selector)\r\n this.links.forEach((link) => {\r\n link.addEventListener('click', (e) => {\r\n e.preventDefault()\r\n this.navControl = new NavControl()\r\n if (this.navControl.toggleMenuBtn.classList.contains('active')) {\r\n this.navControl.toggleNavMenu()\r\n }\r\n if (!this.isExternalLink(link) && this.isWordPressAdminLink(link)) {\r\n window.location.href = link.href // Navigate normally\r\n } else if (!this.isExternalLink(link)) {\r\n this.animatePageTransition(() => {\r\n this.loadContent(link.getAttribute('href'), 'content-container')\r\n })\r\n } else if (this.isExternalLink(link)) {\r\n link.setAttribute('target', '_blank')\r\n window.open(link, '_system')\r\n }\r\n })\r\n })\r\n }\r\n\r\n animatePageTransition(callback) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n // Add the transition class\r\n this.addTransitionClass(contentContainer)\r\n\r\n // Wait for the transition to complete\r\n callback() // Call the callback function (loading content) after the transition\r\n }\r\n\r\n addTransitionClass(element) {\r\n element.classList.add('page-transition')\r\n }\r\n\r\n removeTransitionClass(element) {\r\n element.classList.remove('page-transition')\r\n }\r\n\r\n loadContent(targetUrl, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n\r\n fetch(targetUrl)\r\n .then((response) => response.text())\r\n .then((data) => {\r\n this.updateContent(data, elementId)\r\n history.pushState(null, null, targetUrl)\r\n // Trigger removal of transition class after fetching data\r\n this.removeTransitionClass(contentContainer)\r\n })\r\n .catch((error) => console.error('Error fetching content:', error))\r\n }\r\n\r\n updateContent(data, elementId) {\r\n const contentContainer = document.getElementById('content-container')\r\n const parsedData = new DOMParser().parseFromString(data, 'text/html')\r\n const targetElement = parsedData.getElementById(elementId)\r\n\r\n if (targetElement) {\r\n const newContent = targetElement.innerHTML\r\n\r\n // Update the content container\r\n contentContainer.innerHTML = newContent\r\n\r\n // Update the page title\r\n const newTitle = parsedData.querySelector('title')\r\n if (newTitle) {\r\n document.title = newTitle.textContent\r\n }\r\n\r\n // Other dynamic updates can go here, for example:\r\n // const newMetaDescription = parsedData.querySelector('meta[name=\"description\"]');\r\n // if (newMetaDescription) {\r\n // const currentMetaDescription = document.querySelector('meta[name=\"description\"]');\r\n // currentMetaDescription.setAttribute('content', newMetaDescription.getAttribute('content'));\r\n // }\r\n\r\n // Initialize or update dynamic components\r\n this.collapsePanel = new CollapsePanel()\r\n this.collapsePanel.addToggleCollapseListener('#content-container .accordion-toggle')\r\n this.addLinkClickListener('#content-container a')\r\n } else {\r\n console.error(`Element with ID '${elementId}' not found in the fetched data`)\r\n }\r\n }\r\n\r\n // Function to check if a link is external\r\n isExternalLink(link) {\r\n const currentDomain = window.location.hostname\r\n const linkDomain = link.hostname\r\n\r\n return linkDomain !== currentDomain\r\n }\r\n\r\n isWordPressAdminLink(link) {\r\n // Customize the condition based on your WordPress admin URL structure\r\n const adminUrlRegex = /^.*\\/wp-admin\\//\r\n return adminUrlRegex.test(link.href)\r\n }\r\n}\r\n\r\nexport default PageTransitions\r\n","class SplashScreen {\r\n constructor() {\r\n this.splashScreen = document.getElementById('splash-screen')\r\n this.enterButton = document.getElementById('app-enter')\r\n this.headerNav = document.getElementById('header-nav')\r\n this.footerNav = document.getElementById('footer-nav')\r\n\r\n this.init()\r\n }\r\n\r\n init() {\r\n document.addEventListener('DOMContentLoaded', () => {\r\n this.checkFirstVisit()\r\n })\r\n }\r\n\r\n checkFirstVisit() {\r\n if (!sessionStorage.getItem('visited')) {\r\n this.showSplashScreen()\r\n this.addEventListeners()\r\n }\r\n }\r\n\r\n showSplashScreen() {\r\n this.splashScreen.classList.remove('hidden')\r\n this.headerNav.classList.add('out-of-view')\r\n this.footerNav.classList.add('out-of-view')\r\n }\r\n\r\n hideSplashScreen() {\r\n this.splashScreen.classList.add('close')\r\n setTimeout(() => {\r\n this.headerNav.classList.add('in-view')\r\n this.footerNav.classList.add('in-view')\r\n this.splashScreen.classList.add('hidden')\r\n }, 600)\r\n setTimeout(() => {\r\n this.headerNav.classList.remove('out-of-view')\r\n this.footerNav.classList.remove('out-of-view')\r\n this.headerNav.classList.remove('in-view')\r\n this.footerNav.classList.remove('in-view')\r\n }, 2000)\r\n }\r\n\r\n addEventListeners() {\r\n this.enterButton.addEventListener('click', () => {\r\n this.hideSplashScreen()\r\n sessionStorage.setItem('visited', true)\r\n })\r\n }\r\n}\r\n\r\nexport default SplashScreen\r\n","class Test {\r\n constructor() {\r\n console.log('This Module is for testing purposes')\r\n }\r\n}\r\n\r\nexport default Test\r\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// Our modules / classes\r\n// Import modules e.g import MobileMenu from \"./modules/MobileMenu\"\r\nimport Test from './modules/TestModule'\r\nimport NavControl from './modules/NavControl'\r\nimport CollapsePanel from './modules/CollapsePanel'\r\nimport SplashScreen from './modules/SplashScreen'\r\nimport PageTransitions from './modules/PageTransitions'\r\n\r\n// Instantiate a new object using our modules/classes\r\n// e.g var mobileMenu = new MobileMenu()\r\n\r\nconst testModule = new Test()\r\nconst navControl = new NavControl()\r\nconst collapsePanel = new CollapsePanel()\r\nconst splashScreen = new SplashScreen()\r\nconst pageTransitions = new PageTransitions()\r\n"],"names":["CollapsePanel","constructor","init","document","addEventListener","addToggleCollapseListener","selector","toggles","querySelectorAll","forEach","toggle","parentNode","classList","Nav","toggleMenuBtn","getElementById","toggleSlideOutMenu","accordions","documentElement","requestFullscreen","toggleNavMenu","body","collapseAllAccordions","setTimeout","accordion","remove","NavControl","PageTransitions","addLinkClickListener","links","link","e","preventDefault","navControl","contains","isExternalLink","isWordPressAdminLink","window","location","href","animatePageTransition","loadContent","getAttribute","setAttribute","open","callback","contentContainer","addTransitionClass","element","add","removeTransitionClass","targetUrl","elementId","fetch","then","response","text","data","updateContent","history","pushState","catch","error","console","parsedData","DOMParser","parseFromString","targetElement","newContent","innerHTML","newTitle","querySelector","title","textContent","collapsePanel","currentDomain","hostname","linkDomain","adminUrlRegex","test","SplashScreen","splashScreen","enterButton","headerNav","footerNav","checkFirstVisit","sessionStorage","getItem","showSplashScreen","addEventListeners","hideSplashScreen","setItem","Test","log","testModule","pageTransitions"],"sourceRoot":""} \ No newline at end of file