diff --git a/blocks/marketing/marketing.js b/blocks/marketing/marketing.js
index d4687b16..1bb173e4 100644
--- a/blocks/marketing/marketing.js
+++ b/blocks/marketing/marketing.js
@@ -42,7 +42,14 @@ export default async function decorate(block) {
window.tude = window.tude || { cmd: [] };
loadScript('https://www.googletagservices.com/tag/js/gpt.js', () => {
loadScript(`https://dn0qt3r0xannq.cloudfront.net/${placeholders.adsPath}/prebid-load.js`, () => {
- // loadScript(`https://web.prebidwrapper.com/${placeholders.adsPath}/prebid-load.js`, () => {
+ let pageName = window.location.pathname.slice(1);
+ if (!pageName) {
+ pageName = 'homepage';
+ } else if (pageName.startsWith('news')) {
+ pageName = 'news';
+ } if (pageName.includes('/')) {
+ pageName = pageName.substring(pageName.lastIndexOf('/') + 1);
+ }
window.tude.cmd.push(() => {
window.tude.setDeviceType(getDevice()); // optional
window.tude.setPageTargeting({ // optional
@@ -50,6 +57,8 @@ export default async function decorate(block) {
s1: placeholders.adsS1,
s2: placeholders.adsS2,
s3: placeholders.adsS3,
+ s4: pageName,
+ pos: 'midcontent',
m_data: '0',
m_safety: 'safe',
m_catagories: 'moat_safe',
@@ -59,7 +68,7 @@ export default async function decorate(block) {
kuid: '',
aid: '20767395437692810572475817725693908164',
});
- window.tude.setAdUnitPath(`/${placeholders.adsNetwork}/pgat.${getDevice() === 'mobile' ? 'phone' : getDevice()}/pgatour`);
+ window.tude.setAdUnitPath(`/${placeholders.adsNetwork}/pgatour-web/pgatour`);
});
window.tude.cmd.push(() => {
document.querySelectorAll('.ad').forEach((ad) => {
diff --git a/scripts/delayed.js b/scripts/delayed.js
index 65ee7fa9..6c7d8024 100644
--- a/scripts/delayed.js
+++ b/scripts/delayed.js
@@ -3,12 +3,9 @@ import {
decorateIcons,
fetchPlaceholders,
sampleRUM,
- decorateBlock,
- loadBlock,
loadScript,
getMetadata,
fetchGraphQL,
- sendAnalyticsPageEvent,
} from './scripts.js';
const placeholders = await fetchPlaceholders();
@@ -646,75 +643,6 @@ async function populateStatusBar(statusBar) {
populateStatusBar(document.querySelector('header > .status-bar'));
-/* setup cookie preferences */
-function getCookie(cookieName) {
- const name = `${cookieName}=`;
- const decodedCookie = decodeURIComponent(document.cookie);
- const split = decodedCookie.split(';');
- // eslint-disable-next-line no-plusplus
- for (let i = 0; i < split.length; i++) {
- let c = split[i];
- while (c.charAt(0) === ' ') c = c.substring(1);
- if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
- }
- return null;
-}
-
-async function OptanonWrapper() {
- const geoInfo = window.Optanon.getGeolocationData();
- Object.keys(geoInfo).forEach((key) => {
- const cookieName = `PGAT_${key.charAt(0).toUpperCase() + key.slice(1)}`;
- const cookie = getCookie(cookieName);
- if (!cookie || cookie !== geoInfo[key]) document.cookie = `${cookieName}=${geoInfo[key]}`;
- });
-
- const prevOptIn = localStorage.getItem('OptIn_PreviousPermissions');
- if (prevOptIn) {
- try {
- const settings = JSON.parse(prevOptIn);
- if (settings.tempImplied) {
- localStorage.removeItem('OptIn_PreviousPermissions');
- }
- } catch (e) {
- // eslint-disable-next-line no-console
- console.error('OptIn_PreviousPermissions parse failed');
- }
- }
- sendAnalyticsPageEvent();
-}
-
-const otId = placeholders.onetrustId;
-if (otId) {
- const cookieScript = loadScript('https://cdn.cookielaw.org/scripttemplates/otSDKStub.js');
- cookieScript.setAttribute('data-domain-script', `${otId}${isProd ? '' : '-test'}`);
- cookieScript.setAttribute('data-dlayer-name', 'dataLayer');
- cookieScript.setAttribute('data-nscript', 'beforeInteractive');
-
- const gtmId = placeholders.googletagmanagerId;
- if (gtmId) {
- const GTMScript = document.createElement('script');
- GTMScript.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
- new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
- j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
- 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
- })(window,document,'script','dataLayer','${gtmId}');`;
- document.head.append(GTMScript);
-
- const GTMFrame = document.createElement('no-script');
- GTMFrame.innerHTML = ``;
- document.body.prepend(GTMFrame);
- }
-
- window.OptanonWrapper = OptanonWrapper;
-
- if (document.querySelector('.marketing')) {
- const marketingBlock = document.querySelector('.marketing');
- decorateBlock(marketingBlock);
- loadBlock(marketingBlock);
- }
-}
-
async function loadLiveChat() {
const liveChat = getMetadata('live-chat');
if (liveChat && ['yes', 'on', 'true'].includes(liveChat.toLowerCase())) {
diff --git a/scripts/dependencies.js b/scripts/dependencies.js
new file mode 100644
index 00000000..e0b8a616
--- /dev/null
+++ b/scripts/dependencies.js
@@ -0,0 +1,78 @@
+// eslint-disable-next-line import/no-cycle
+import {
+ decorateBlock,
+ fetchPlaceholders,
+ loadBlock,
+ loadScript,
+} from './scripts.js';
+
+const placeholders = await fetchPlaceholders();
+const isProd = window.location.hostname.endsWith(placeholders.hostname);
+
+/* setup cookie preferences */
+function getCookie(cookieName) {
+ const name = `${cookieName}=`;
+ const decodedCookie = decodeURIComponent(document.cookie);
+ const split = decodedCookie.split(';');
+ // eslint-disable-next-line no-plusplus
+ for (let i = 0; i < split.length; i++) {
+ let c = split[i];
+ while (c.charAt(0) === ' ') c = c.substring(1);
+ if (c.indexOf(name) === 0) return c.substring(name.length, c.length);
+ }
+ return null;
+}
+
+async function OptanonWrapper() {
+ const geoInfo = window.Optanon.getGeolocationData();
+ Object.keys(geoInfo).forEach((key) => {
+ const cookieName = `PGAT_${key.charAt(0).toUpperCase() + key.slice(1)}`;
+ const cookie = getCookie(cookieName);
+ if (!cookie || cookie !== geoInfo[key]) document.cookie = `${cookieName}=${geoInfo[key]}`;
+ });
+
+ const prevOptIn = localStorage.getItem('OptIn_PreviousPermissions');
+ if (prevOptIn) {
+ try {
+ const settings = JSON.parse(prevOptIn);
+ if (settings.tempImplied) {
+ localStorage.removeItem('OptIn_PreviousPermissions');
+ }
+ } catch (e) {
+ // eslint-disable-next-line no-console
+ console.error('OptIn_PreviousPermissions parse failed');
+ }
+ }
+}
+
+const otId = placeholders.onetrustId;
+if (otId) {
+ const cookieScript = loadScript('https://cdn.cookielaw.org/scripttemplates/otSDKStub.js');
+ cookieScript.setAttribute('data-domain-script', `${otId}${isProd ? '' : '-test'}`);
+ cookieScript.setAttribute('data-dlayer-name', 'dataLayer');
+ cookieScript.setAttribute('data-nscript', 'beforeInteractive');
+
+ const gtmId = placeholders.googletagmanagerId;
+ if (gtmId) {
+ const GTMScript = document.createElement('script');
+ GTMScript.innerHTML = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
+ new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
+ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
+ 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
+ })(window,document,'script','dataLayer','${gtmId}');`;
+ document.head.append(GTMScript);
+
+ const GTMFrame = document.createElement('no-script');
+ GTMFrame.innerHTML = ``;
+ document.body.prepend(GTMFrame);
+ }
+
+ window.OptanonWrapper = OptanonWrapper;
+
+ if (document.querySelector('.marketing')) {
+ const marketingBlock = document.querySelector('.marketing');
+ decorateBlock(marketingBlock);
+ loadBlock(marketingBlock);
+ }
+}
diff --git a/scripts/scripts.js b/scripts/scripts.js
index 0d58e1de..25792fb7 100644
--- a/scripts/scripts.js
+++ b/scripts/scripts.js
@@ -1052,6 +1052,14 @@ async function loadEager(doc) {
}
}
+/**
+ * Loads everything that required HTML to be in place.
+ */
+function loadDependencies() {
+ // eslint-disable-next-line import/no-cycle
+ import('./dependencies.js');
+}
+
/**
* loads everything that doesn't need to be delayed.
*/
@@ -1069,6 +1077,8 @@ async function loadLazy(doc) {
addFavIcon(`${window.hlx.codeBasePath}/styles/favicon.ico`);
doc.querySelectorAll('div:not([class]):not([id]):empty').forEach((empty) => empty.remove());
+
+ loadDependencies();
}
/**
@@ -1122,41 +1132,6 @@ export function addHeaderSizing(block, classPrefix = 'heading', selector = 'h1,
});
}
-function getPageNameAndSections() {
- const pageSectionParts = window.location.pathname.split('/').filter((subPath) => subPath !== '');
- const pageName = pageSectionParts.join(':');
- const finalPageName = pageName === '' ? 'Home' : pageName;
-
- return {
- pageName: finalPageName,
- sections: pageSectionParts,
- };
-}
-
-export async function sendAnalyticsPageEvent() {
- window.dataLayer = window.dataLayer || [];
- const dl = window.dataLayer;
- const placeholders = await fetchPlaceholders();
- const isUserLoggedIn = window.gigyaAccountInfo && window.gigyaAccountInfo != null
- && window.gigyaAccountInfo.errorCode === 0;
-
- const { pageName, sections } = getPageNameAndSections();
- dl.push({
- event: 'pageload',
- pageName,
- pageUrl: window.location.href,
- siteSection: sections[0] || '',
- siteSubSection: sections[1] || '',
- siteSubSection2: sections[2] || '',
- gigyaID: isUserLoggedIn && window.gigyaAccountInfo.UID ? window.gigyaAccountInfo.UID : '',
- userLoggedIn: isUserLoggedIn ? 'Logged In' : 'Logged Out',
- tourName: placeholders.tourName.toLowerCase().replaceAll(' ', '_'),
- tournamentID: `${placeholders.tourCode.toUpperCase()}${placeholders.currentYear}${placeholders.tournamentId}`,
- ipAddress: '127.0.0.1',
- deviceType: 'Web',
- });
-}
-
try {
const hidden = Symbol('hidden');
const proxy = Symbol('proxy');
diff --git a/styles/styles.css b/styles/styles.css
index 831ac6d8..d0361718 100644
--- a/styles/styles.css
+++ b/styles/styles.css
@@ -548,6 +548,7 @@ main .ad {
align-items: center;
justify-content: center;
margin: 32px 0;
+ overflow: hidden;
}
main .ad .ad-top {