diff --git a/app/server/handlers/render-layout.js b/app/server/handlers/render-layout.js index de1f0c613..70358f92f 100644 --- a/app/server/handlers/render-layout.js +++ b/app/server/handlers/render-layout.js @@ -30,6 +30,8 @@ export async function renderLayout(res, params) { get(params.store.getState(), ["qt", "config", "publisher-attributes", "placeholder_delay"]) ); + const webengageLicenseCode = get(params.store.getState(), ["qt", "config", "webengage-config", "licenseCode"], ""); + res.render( "pages/layout", Object.assign( @@ -69,6 +71,7 @@ export async function renderLayout(res, params) { placeholderDelay, pageType, enableBreakingNews: params.pageType !== "profile-page", + webengageLicenseCode, }, params ) diff --git a/app/server/load-data.js b/app/server/load-data.js index 6ddc0410d..6fc1b39de 100644 --- a/app/server/load-data.js +++ b/app/server/load-data.js @@ -15,6 +15,7 @@ import { getNavigationMenuArray } from "./data-loaders/menu-data"; import { loadCollectionPageData } from "./data-loaders/collection-page-data"; import { loadAuthorPageData } from "./data-loaders/author-page-data"; import { PAGE_TYPE } from "../isomorphic/constants"; +import webengageConfig from "../../config/webengage-config"; const { ads } = require("@quintype/framework/server/static-configuration"); @@ -27,10 +28,10 @@ const WHITELIST_CONFIG_KEYS = [ "publisher-name", "public-integrations", "sketches-host", - "publisher-settings" + "publisher-settings", ]; -const svgSpritePath = Array.from(getAssetFiles()).find(asset => asset.includes("sprite")); +const svgSpritePath = Array.from(getAssetFiles()).find((asset) => asset.includes("sprite")); export function getPublisherAttributes(publisherYml = publisher) { const publisherAttributes = get(publisherYml, ["publisher"], {}); @@ -42,15 +43,16 @@ export function loadErrorData(error, config) { const errorComponents = { 404: "not-found" }; return Promise.resolve({ data: { - navigationMenu: getNavigationMenuArray(config.layout.menu, config.sections) + navigationMenu: getNavigationMenuArray(config.layout.menu, config.sections), }, config: Object.assign(pick(config.asJson(), WHITELIST_CONFIG_KEYS), { "publisher-attributes": publisherAttributes, + "webengage-config": webengageConfig, "ads-config": ads, - svgSpritePath + svgSpritePath, }), pageType: errorComponents[error.httpStatusCode], - httpStatusCode: error.httpStatusCode || 500 + httpStatusCode: error.httpStatusCode || 500, }); } @@ -89,22 +91,23 @@ export function loadData(pageType, params, config, client, { host, next, domainS } } - return _loadData().then(data => { + return _loadData().then((data) => { return { httpStatusCode: data.httpStatusCode || 200, pageType: data.pageType || pageType, data: Object.assign({}, data, { navigationMenu: getNavigationMenuArray(config.layout.menu, config.sections), - timezone: publisherAttributes.timezone || null + timezone: publisherAttributes.timezone || null, }), config: Object.assign(pick(config.asJson(), WHITELIST_CONFIG_KEYS), { "publisher-attributes": publisherAttributes, + "webengage-config": webengageConfig, "image-cdn-format": "gumlet", "ads-config": ads, svgSpritePath, domainSlug, - showPlaceholder: publisherAttributes.enable_placeholder - }) + showPlaceholder: publisherAttributes.enable_placeholder, + }), }; }); } diff --git a/views/pages/layout.ejs b/views/pages/layout.ejs index d294874dd..ff701132e 100644 --- a/views/pages/layout.ejs +++ b/views/pages/layout.ejs @@ -77,7 +77,7 @@