{"version":3,"file":"renderNewsletterPopUp.min.js","mappings":"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","sources":["webpack://ecommerce/webpack/runtime/chunk loaded","webpack://ecommerce/./src/config/config.inwild.js","webpack://ecommerce/./src/config/config.js","webpack://ecommerce/./src/config/config.production.inwild.js","webpack://ecommerce/./src/config/config.production.js","webpack://ecommerce/./src/config/config.production.runkd.js","webpack://ecommerce/./src/config/config.runkd.js","webpack://ecommerce/./src/config/config.staging.inwild.js","webpack://ecommerce/./src/config/config.staging.js","webpack://ecommerce/./src/config/config.staging.runkd.js","webpack://ecommerce/./src/config/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://ecommerce/./src/common/httpService.js","webpack://ecommerce/./src/common/common.js","webpack://ecommerce/./src/tracing.js","webpack://ecommerce/./src/services/data/dataPageService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/ga4Service.js","webpack://ecommerce/./src/services/marketingAndAnalytics/marketingAndAnalyticsService.js","webpack://ecommerce/./src/services/marketingAndAnalytics/facebookService.js","webpack://ecommerce/./src/components/Button.jsx","webpack://ecommerce/./src/components/PopUp.jsx","webpack://ecommerce/./src/views/shared/renderNewsletterPopUp.js","webpack://ecommerce/./wwwroot/js/modernizr-custom-mq.js","webpack://ecommerce/./node_modules/object-assign/index.js","webpack://ecommerce/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://ecommerce/./node_modules/scheduler/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/typeof.js","webpack://ecommerce/./node_modules/@babel/runtime/regenerator/index.js","webpack://ecommerce/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://ecommerce/webpack/bootstrap","webpack://ecommerce/webpack/runtime/compat get default export","webpack://ecommerce/webpack/runtime/define property getters","webpack://ecommerce/webpack/runtime/global","webpack://ecommerce/webpack/runtime/harmony module decorator","webpack://ecommerce/webpack/runtime/hasOwnProperty shorthand","webpack://ecommerce/webpack/runtime/make namespace object","webpack://ecommerce/webpack/runtime/node module decorator","webpack://ecommerce/webpack/runtime/runtimeId","webpack://ecommerce/webpack/runtime/jsonp chunk loading","webpack://ecommerce/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1339',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1337',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.inwild.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.inwild.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.inwild.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.lordgunbicycles.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.lordgunbicycles.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.lordgun.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: false,\r\n realtime: {\r\n tokenUrl: 'https://api.runkd.com/realtime/api/Token',\r\n paymentHubUrl: 'https://api.runkd.com/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: true,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://news.runkd.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'http://localhost/JSport.RealtimeServiceWeb/api/Token',\r\n paymentHubUrl: 'http://localhost/JSport.RealtimeServiceWeb/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'http://localhost:1338',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/inwild/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d26ztvr3v93474.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.inwild.com:4433',\r\n cdnCmsAssetsUrl: 'https://d19sv9e4y8qwzh.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://d3n8mmvj9ns1ml.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.lordgunbicycles.com:4433',\r\n cdnCmsAssetsUrl: 'https://d2umopxfu128sk.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n 'en-AU',\r\n 'ko-KR',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","module.exports = {\r\n debug: true,\r\n realtime: {\r\n tokenUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/api/Token',\r\n paymentHubUrl: 'https://staging.lordgunbicycles.com/runkd/webapi/realtime/paymenthub',\r\n username: 'Admin',\r\n password: 'SignalR2020',\r\n },\r\n useCdn: false,\r\n cdnImagesUrl: 'https://dufrl78eaxiu3.cloudfront.net',\r\n cdnImagesFallbackUrl: 'https://sync.runkd.com:4433',\r\n cdnCmsAssetsUrl: 'https://d218t1pkbrmetd.cloudfront.net',\r\n supportedCultures: () => [\r\n 'it-IT',\r\n 'es-ES',\r\n 'fr-FR',\r\n 'en-GB',\r\n 'en-US',\r\n 'de-DE',\r\n ],\r\n cms: {\r\n cmsUrl: 'https://lnxtest.lordgunbicycles.com',\r\n },\r\n tracingUrl:\r\n 'https://6f569c242a3a4173b354adf56020c011@o245932.ingest.sentry.io/5905368',\r\n};\r\n","const config_lordgun = require('./config');\r\nconst config_staging_lordgun = require('./config.staging');\r\nconst config_production_lordgun = require('./config.production');\r\n// RUNKD\r\nconst config_runkd = require('./config.runkd');\r\nconst config_staging_runkd = require('./config.staging.runkd');\r\nconst config_production_runkd = require('./config.production.runkd');\r\n// INWILD\r\nconst config_inwild = require('./config.inwild');\r\nconst config_staging_inwild = require('./config.staging.inwild');\r\nconst config_production_inwild = require('./config.production.inwild');\r\n\r\nconst config = {\r\n lordgun: {\r\n development: config_lordgun,\r\n staging: config_staging_lordgun,\r\n production: config_production_lordgun,\r\n },\r\n runkd: {\r\n development: config_runkd,\r\n staging: config_staging_runkd,\r\n production: config_production_runkd,\r\n },\r\n inwild: {\r\n development: config_inwild,\r\n staging: config_staging_inwild,\r\n production: config_production_inwild,\r\n },\r\n};\r\n\r\nconst isEnvironmentSet =\r\n NODE_ENV !== null && NODE_ENV !== undefined && NODE_ENV !== '';\r\n\r\nlet environment = isEnvironmentSet\r\n ? NODE_ENV.toLowerCase().trim()\r\n : 'production';\r\n\r\nlet configObj = {\r\n getConfig: () => config[SITE.toLowerCase()][environment],\r\n};\r\n\r\nmodule.exports = configObj;\r\n","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nexport { _asyncToGenerator as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import { hasIn, includes, split } from 'lodash';\r\n// import \"whatwg-fetch\"; // Polyfill per fetch su IE11\r\n\r\nconst _normalizeUrl = (url) => {\r\n if (!window.location.origin) {\r\n window.location.origin =\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n (window.location.port ? ':' + window.location.port : '');\r\n }\r\n return window.location.origin + $pathBase + url;\r\n};\r\n\r\nconst get = async function ({ url, headers = {} }) {\r\n const mergedHeaders = {\r\n ...{\r\n method: 'GET', // *GET, POST, PUT, DELETE, etc.\r\n // mode: 'no-cors', // no-cors, cors, *same-origin\r\n // cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n // credentials: 'same-origin', // include, *same-origin, omit\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n 'Cache-Control': 'max-age=15',\r\n // 'Content-Type': 'application/x-www-form-urlencoded',\r\n },\r\n // redirect: 'follow', // manual, *follow, error\r\n // referrer: 'no-referrer', // no-referrer, *client\r\n // body: JSON.stringify(data), // body data type must match \"Content-Type\" header\r\n },\r\n ...headers,\r\n };\r\n url = _normalizeUrl(url);\r\n return fetch(url, mergedHeaders)\r\n .then((response) => {\r\n if (response.status >= 400 && response.status < 600) {\r\n const errorMessage = hasIn(response, 'statusText')\r\n ? response.statusText\r\n : 'Bad response from server';\r\n // throw new Error( errorMessage );\r\n throw { status: response.status, errorMessage };\r\n } else if (response.redirected) {\r\n if (includes(response.url.toLowerCase(), 'logon?returnurl')) {\r\n const returnUrl = encodeURIComponent(\r\n split(\r\n window.location.toString(),\r\n window.location.origin\r\n )[1]\r\n );\r\n window.location = `${\r\n split(response.url, '?')[0]\r\n }?returnUrl=${returnUrl}`;\r\n return;\r\n }\r\n window.location = response.url;\r\n return;\r\n }\r\n return response;\r\n })\r\n .then((returnedResponse) => {\r\n // Your response to manipulate\r\n return includes(\r\n returnedResponse.headers.get('Content-Type'),\r\n 'application/json'\r\n )\r\n ? returnedResponse.json()\r\n : returnedResponse;\r\n })\r\n .catch((error) => {\r\n // Your error is here!\r\n if (error.status && error.status === 500) {\r\n console.error(error);\r\n }\r\n throw error;\r\n });\r\n};\r\n\r\nconst postFormData = async function ({ url, body }) {\r\n url = _normalizeUrl(url);\r\n const response = await fetch(url, {\r\n method: 'POST',\r\n body: body,\r\n });\r\n return response;\r\n};\r\n\r\nconst post = async function ({ url, body = {} }) {\r\n url = _normalizeUrl(url);\r\n const rawResponse = await fetch(url, {\r\n method: 'POST',\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(body),\r\n });\r\n\r\n if (rawResponse.redirected) {\r\n if (includes(rawResponse.url.toLowerCase(), 'logon?returnurl')) {\r\n const returnUrl = encodeURIComponent(\r\n split(window.location.toString(), window.location.origin)[1]\r\n );\r\n window.location = `${\r\n split(rawResponse.url, '?')[0]\r\n }?returnUrl=${returnUrl}`;\r\n return {};\r\n }\r\n window.location = rawResponse.url;\r\n return {};\r\n }\r\n\r\n const content = await rawResponse.json();\r\n return content;\r\n};\r\n\r\nconst remove = async function ({ url, headers = {} }) {\r\n url = _normalizeUrl(url);\r\n return fetch(url, {\r\n ...{\r\n method: 'DELETE', // *GET, POST, PUT, DELETE, etc.\r\n cache: 'no-cache', // *default, no-cache, reload, force-cache, only-if-cached\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n },\r\n ...headers,\r\n })\r\n .then((returnedResponse) => {\r\n return includes(\r\n returnedResponse.headers.get('Content-Type'),\r\n 'application/json'\r\n )\r\n ? returnedResponse.json()\r\n : returnedResponse;\r\n })\r\n .catch((error) => {\r\n if (error.status && error.status === 500) {\r\n console.error(error);\r\n }\r\n throw error;\r\n });\r\n};\r\n\r\nexport { get, postFormData, post, remove };\r\n","const configHelper = require('../config/index');\r\nimport { reduce, replace, isNil, some, startsWith, isEmpty } from 'lodash';\r\n\r\nrequire('../../wwwroot/js/modernizr-custom-mq.js');\r\nconst trimTrailingSlash = (virtualdir = '') => {\r\n return virtualdir.length > 0 && virtualdir[virtualdir.length - 1] === '/'\r\n ? virtualdir.slice(0, virtualdir.length - 1)\r\n : virtualdir;\r\n};\r\nconst getSiteUrl = (virtualdir = window.$pathBase) => {\r\n if (virtualdir === undefined) {\r\n throw new Error(\r\n 'common.getSiteUrl: virtualdir undefined. Should be emtpy or set.'\r\n );\r\n }\r\n if (window.location.port === '') {\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n virtualdir\r\n );\r\n }\r\n return trimTrailingSlash(\r\n window.location.protocol +\r\n '//' +\r\n window.location.hostname +\r\n ':' +\r\n window.location.port +\r\n virtualdir\r\n );\r\n};\r\nconst getSiteCommercialName = () => {\r\n const siteName = {\r\n lordgun: 'LordGun',\r\n runkd: 'RUNKD',\r\n inwild: 'INWILD',\r\n };\r\n return siteName[SITE.toLowerCase()];\r\n};\r\nconst contentFromCdn = ({ path, keepUrlAsIs }) => {\r\n try {\r\n if (keepUrlAsIs === true) {\r\n return path;\r\n }\r\n const config = configHelper.getConfig();\r\n const { useCdn, cdnImagesUrl, cdnImagesFallbackUrl, cms } = config;\r\n\r\n if (cms && cms.cmsUrl && !isNil(cms.cmsUrl) && !isEmpty(cms.cmsUrl)) {\r\n if (startsWith(path, cms.cmsUrl)) {\r\n return path;\r\n }\r\n }\r\n\r\n if (some([useCdn, cdnImagesUrl, cdnImagesFallbackUrl], isNil)) {\r\n throw new Error('Some config for contentFromCdn is missing');\r\n }\r\n let transformedPath = replace(path.toLowerCase(), '~', '');\r\n transformedPath = replace(\r\n transformedPath,\r\n '/content/products',\r\n '/products'\r\n );\r\n transformedPath = replace(transformedPath, '/content/kits', '/kits');\r\n transformedPath = replace(transformedPath, '/content/img/', '/img/');\r\n transformedPath = replace(transformedPath, '/content/img', '/img');\r\n transformedPath = replace(transformedPath, 'content/img/', '/img/');\r\n transformedPath = replace(transformedPath, 'content/', '');\r\n transformedPath = replace(transformedPath, cdnImagesUrl, '');\r\n transformedPath = replace(transformedPath, cdnImagesFallbackUrl, '');\r\n let siteUrl = getSiteUrl().toLowerCase();\r\n transformedPath = transformedPath.replace(siteUrl, '');\r\n transformedPath = replace(\r\n transformedPath,\r\n window.$pathBase.toLowerCase(),\r\n ''\r\n );\r\n transformedPath = transformedPath.startsWith('/')\r\n ? transformedPath.slice(1, transformedPath.length)\r\n : transformedPath;\r\n if (useCdn && startsWith(transformedPath, cdnImagesUrl.toLowerCase())) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n if (\r\n useCdn === false &&\r\n startsWith(transformedPath, cdnImagesFallbackUrl.toLowerCase())\r\n ) {\r\n transformedPath = replace(\r\n transformedPath,\r\n cdnImagesFallbackUrl.toLowerCase(),\r\n ''\r\n );\r\n }\r\n\r\n let finalPath = useCdn\r\n ? `${cdnImagesUrl}/${transformedPath}`\r\n : `${cdnImagesFallbackUrl}/${transformedPath}`;\r\n return finalPath;\r\n } catch (error) {\r\n console.error('contentFromCdn. Set content from Cdn', error);\r\n }\r\n};\r\nconst getPartnersByCulture = ({ culture, partners }) => {\r\n const items = reduce(\r\n partners,\r\n (acc, el) => {\r\n return el.Culture === culture ? acc.concat(el) : acc;\r\n },\r\n []\r\n );\r\n return reduce(\r\n items,\r\n (acc, p) => {\r\n acc.push({\r\n title: p.Name,\r\n url: p.Url,\r\n culture: p.Culture,\r\n logo: contentFromCdn({\r\n path: `/Content/img/${p.Logo}`,\r\n keepUrlAsIs: false,\r\n }),\r\n });\r\n return acc;\r\n },\r\n []\r\n );\r\n};\r\nconst getParameterByName = function (name, url = window.location.href) {\r\n name = name.replace(/[\\[\\]]/g, '\\\\$&');\r\n var regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),\r\n results = regex.exec(url);\r\n if (!results) return null;\r\n if (!results[2]) return '';\r\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\r\n};\r\nexport default {\r\n getSiteUrl,\r\n getLang: () => document.documentElement.lang,\r\n isTouch: () => Modernizr.touch || window.innerWidth <= 768,\r\n isDesktop: () => Modernizr.mq('(min-width: 64em)'),\r\n getSite: () => SITE.trim().toLowerCase(),\r\n getSiteCommercialName,\r\n contentFromCdn,\r\n getPartnersByCulture,\r\n getParameterByName,\r\n};\r\n","import * as Sentry from '@sentry/browser';\r\nimport { JL } from 'jsnlog';\r\nimport { Integrations } from '@sentry/tracing';\r\nimport common from './common/common';\r\nconst configHelper = require('./config/index');\r\n\r\nconst initTracing = () => {\r\n const site = common.getSite();\r\n if (configHelper.getConfig().debug === false) {\r\n Sentry.init({\r\n dsn: configHelper.getConfig().tracingUrl,\r\n integrations: [new Integrations.BrowserTracing()],\r\n\r\n // Set tracesSampleRate to 1.0 to capture 100%\r\n // of transactions for performance monitoring.\r\n // We recommend adjusting this value in production\r\n tracesSampleRate: NODE_ENV.toLowerCase() === 'development' ? 1.0 : 0.5,\r\n environment: NODE_ENV,\r\n });\r\n Sentry.setTag('SITE', site);\r\n Sentry.setTag('getSiteUrl', common.getSiteUrl());\r\n Sentry.setTag('lang', common.getLang());\r\n Sentry.setTag('isTouch', common.isTouch());\r\n Sentry.setTag('isDesktop', common.isDesktop());\r\n }\r\n};\r\nlet initializedLoggers = [];\r\nconst _initJsNlog = ({ loggerName }) => {\r\n if (initializedLoggers.indexOf(loggerName) === -1) {\r\n const defaultLoggingUrl = window.$pathBase + 'jsnlog.logger';\r\n var appender = JL.createAjaxAppender('mycustomappender.' + loggerName);\r\n var consoleAppender = JL.createConsoleAppender(\r\n 'consoleAppender.' + loggerName\r\n );\r\n appender.setOptions({\r\n bufferSize: 80,\r\n maxBatchSize: 80,\r\n url: defaultLoggingUrl,\r\n });\r\n JL.setOptions({\r\n defaultAjaxUrl: defaultLoggingUrl,\r\n });\r\n JL(loggerName).setOptions({\r\n appenders: [appender, consoleAppender],\r\n });\r\n if (typeof window !== 'undefined') {\r\n let _oldOnErrorHandler = window.onerror || null;\r\n window.onerror = function (msg, url, line, column, error) {\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? `${url} window.location.href: ${window.location.href}`\r\n : url;\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'Uncaught Exception',\r\n errorMsg: `onerror: ${msg}`,\r\n url: sourceUrl,\r\n 'line number': line,\r\n column: column,\r\n },\r\n error\r\n );\r\n if (_oldOnErrorHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnErrorHandler.apply(this, arguments);\r\n }\r\n return false;\r\n };\r\n let _oldOnUnhandledRejectionHandler =\r\n window.onunhandledrejection || null;\r\n window.onunhandledrejection = function (event) {\r\n // How to test this handler: window.setTimeout(function() {throw new Error('abc')}, 0);\r\n let sourceUrl =\r\n window && window.location && window.location.href\r\n ? ` window.location.href: ${window.location.href}`\r\n : '';\r\n let reasonMessage =\r\n event.reason && event.reason.message\r\n ? event.reason.message\r\n : '';\r\n JL('onerrorLogger').fatal(\r\n `Reason message: ${reasonMessage} SourceUrl: ${sourceUrl}`\r\n );\r\n JL('onerrorLogger').fatalException(\r\n {\r\n msg: 'unhandledrejection',\r\n errorMsg: `onunhandledrejection: ${reasonMessage} SourceUrl: ${sourceUrl}`,\r\n },\r\n event.reason\r\n );\r\n if (_oldOnUnhandledRejectionHandler) {\r\n // eslint-disable-next-line prefer-rest-params\r\n return _oldOnUnhandledRejectionHandler.apply(\r\n this,\r\n arguments\r\n );\r\n }\r\n return false;\r\n };\r\n }\r\n initializedLoggers.push(loggerName);\r\n }\r\n};\r\nconst logDebug = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logInfo = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').info(args);\r\n};\r\nconst logEvent = function (...args) {\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n _initJsNlog({ loggerName: 'jsnlogeventfile' });\r\n JL('jsnlogeventfile').debug(args);\r\n JL('jsnlogfile').debug(args);\r\n};\r\nconst logWarn = function (...args) {\r\n console.warn(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').warn(args);\r\n};\r\nconst logError = function (...args) {\r\n console.error(args);\r\n _initJsNlog({ loggerName: 'jsnlogfile' });\r\n JL('jsnlogfile').error(args);\r\n};\r\nexport { initTracing, logDebug, logInfo, logWarn, logError, logEvent };\r\n","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nconst validateGoogleData = (prop, defaultValue) => {\r\n if (!window.googleData) {\r\n throw new Error('window.googleData is not defined');\r\n }\r\n if (\r\n window.googleData[prop] === null ||\r\n window.googleData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.googleData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.googleData`);\r\n }\r\n }\r\n logDebug(\r\n `Google data prop found. Retrieving prop ${prop} with value ${window.googleData[prop]}`\r\n );\r\n return window.googleData[prop];\r\n};\r\nconst validateEcommerceData = (prop, defaultValue) => {\r\n if (!window.ecommerceData) {\r\n throw new Error('window.ecommerceData is not defined');\r\n }\r\n if (\r\n window.ecommerceData[prop] === null ||\r\n window.ecommerceData[prop] === undefined\r\n ) {\r\n if (defaultValue !== undefined) {\r\n logWarn(\r\n `${prop} is not defined on window.ecommerceData. Falling back ${defaultValue}`\r\n );\r\n return defaultValue;\r\n } else {\r\n throw new Error(`${prop} is not defined on window.ecommerceData`);\r\n }\r\n }\r\n logDebug(\r\n `Ecommerce data prop found. Retrieving prop ${prop} with value ${window.ecommerceData[prop]}`\r\n );\r\n return window.ecommerceData[prop];\r\n};\r\n\r\nconst extractAdwordsConfiguration = () => {\r\n const adwordsConfiguration = validateGoogleData('adwordsConfiguration');\r\n const ads = JSON.parse(adwordsConfiguration.replace(/"/g, '\"'));\r\n return ads;\r\n};\r\nexport {\r\n validateGoogleData,\r\n extractAdwordsConfiguration,\r\n validateEcommerceData,\r\n};\r\n","// https://developers.google.com/analytics/devguides/collection/ga4/reference/events\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\n\r\nimport {\r\n map,\r\n isArray,\r\n find,\r\n some,\r\n includes,\r\n forEach,\r\n isNil,\r\n isEmpty,\r\n} from 'lodash';\r\n\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst _prefix = 'GA4';\r\nconst _validateGtag = () => {\r\n if (!window.gtag) {\r\n throw new Error('window.gtag is null or undefined');\r\n }\r\n};\r\n\r\nconst _setCategories = ({ itemObj, categories }) => {\r\n forEach(categories, (category, index) => {\r\n itemObj[`item_category${index === 0 ? '' : index}`] = category;\r\n });\r\n return itemObj;\r\n};\r\n\r\nconst _mapItems = (items) =>\r\n map(items, (item) => {\r\n const itemObj = {\r\n item_id: item.googleId,\r\n item_name: item.slug,\r\n };\r\n if (!isNil(item.quantity)) {\r\n itemObj.quantity = item.quantity;\r\n }\r\n if (!isNil(item.currency)) {\r\n itemObj.currency = item.currency;\r\n }\r\n if (!isNil(item.price)) {\r\n itemObj.price = item.price;\r\n }\r\n if (!isNil(item.disciplines)) {\r\n itemObj.disciplines = item.disciplines;\r\n }\r\n if (!isNil(item.brandName)) {\r\n itemObj.item_brand = item.brandName;\r\n }\r\n if (\r\n !isNil(item.categories) &&\r\n item.categories &&\r\n item.categories.length > 0\r\n ) {\r\n return _setCategories({ itemObj, categories: item.categories });\r\n }\r\n return itemObj;\r\n });\r\n\r\nconst beginCheckout = ({ currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n // transaction_id: cartId, // CREDO NON sia passabile, non è documentato e non mi pare registrare l'evento se lo aggiungo.\r\n currency,\r\n value: totaleuro,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} begin_checkout`, obj);\r\n gtag('event', 'begin_checkout', obj);\r\n};\r\n\r\nconst purchase = ({ transaction_id, currency, value, shipping, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n transaction_id,\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value,\r\n shipping,\r\n items: items.map((li) => ({\r\n item_id: li.googleId,\r\n item_name: li.slug,\r\n item_category:\r\n li.categories &&\r\n isArray(li.categories) &&\r\n li.categories.length > 0\r\n ? li.categories[0]\r\n : '',\r\n item_brand:\r\n isNil(li.brandName) || isEmpty(li.brandName)\r\n ? ''\r\n : li.brandName,\r\n price: li.price,\r\n quantity: li.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} purchase`, obj);\r\n gtag('event', 'purchase', obj);\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n let obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n url: url === undefined ? window.location.href : url,\r\n email,\r\n };\r\n logEvent(`${_prefix} CompleteRegistration`, obj);\r\n gtag('event', 'CompleteRegistration', obj);\r\n};\r\n\r\nconst viewItem = ({ currency, value, items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n\r\n currency,\r\n value,\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item`, obj);\r\n gtag('event', 'view_item', obj);\r\n};\r\n\r\nconst searchItemsResults = ({ searchterm }) => {\r\n // NOTA: abbiamo disabilitato l'enhancement measure su GA4 (stream web)\r\n // al fine di evitare duplicazione di questi eventi.\r\n // Disabilitandolo, nei report ne risulta uno,\r\n // anche se comunque ne vengono sparati due (uno dal nostro codice e uno by default da Google)\r\n _validateGtag();\r\n const obj = {\r\n search_term: searchterm,\r\n };\r\n\r\n logEvent(`${_prefix} search`, obj);\r\n gtag('event', 'search', obj);\r\n};\r\n\r\nconst viewItemList = ({ items }) => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_item_list`, obj);\r\n gtag('event', 'view_item_list', obj);\r\n};\r\n\r\nconst viewCart = ({ cartId, currency, totaleuro, items }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId,\r\n currency,\r\n value: parseFloat(totaleuro),\r\n items: _mapItems(items),\r\n };\r\n\r\n logEvent(`${_prefix} view_cart`, obj);\r\n gtag('event', 'view_cart', obj);\r\n};\r\n\r\nconst addShippingInfo = ({ cartId, currency, value, items, shipping_tier }) => {\r\n _validateGtag();\r\n const obj = {\r\n // transaction_id: cartId, // NON SI PUO' METTERE o NON REGISTRA L'EVENTO\r\n currency,\r\n value: parseFloat(value),\r\n items: _mapItems(items),\r\n shipping_tier: shipping_tier,\r\n };\r\n logEvent(`${_prefix} add_shipping_info`, obj);\r\n gtag('event', 'add_shipping_info', obj);\r\n};\r\n\r\nconst addToCart = ({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n}) => {\r\n _validateGtag();\r\n\r\n if (!some(items, (item) => item.googleId === id)) {\r\n logWarn(\r\n `Mismatch between serverside ids and current clientside id ${id} on add_to_cart. Serverside ids: ${map(\r\n items,\r\n (i) => i.googleId\r\n )}`\r\n );\r\n }\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n currency,\r\n value: find(items, (item) => item.googleId === id).price,\r\n items: _mapItems([\r\n {\r\n googleId: id,\r\n slug: find(items, (item) => item.googleId === id).slug,\r\n quantity,\r\n currency,\r\n price: find(items, (item) => item.googleId === id).price,\r\n disciplines,\r\n brandName,\r\n categories,\r\n },\r\n ]),\r\n };\r\n\r\n logEvent(`${_prefix} add_to_cart`, obj);\r\n gtag('event', 'add_to_cart', obj);\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, payment }) => {\r\n _validateGtag();\r\n const obj = {\r\n currency,\r\n value,\r\n payment_type: payment,\r\n items: _mapItems(items),\r\n };\r\n logEvent(`${_prefix} add_payment_info`, obj);\r\n gtag('event', 'add_payment_info', obj);\r\n};\r\n\r\nconst closePopUp = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'close pop up',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n _validateGtag();\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const obj = {\r\n send_to: [analytics4MeasurementId, analytics4MeasurementGlobalId],\r\n content_type: 'pop up button click',\r\n };\r\n\r\n logEvent(`${_prefix} select_content`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst init = ({ debug }) => {\r\n // Analytics 4\r\n if (!window.dataLayer) {\r\n logDebug('window.dataLayer does not exist. Creating it as empty array');\r\n }\r\n window.dataLayer = window.dataLayer || [];\r\n logDebug('window.dataLayer set...');\r\n function gtag() {\r\n dataLayer.push(arguments);\r\n }\r\n window.gtag = gtag;\r\n _validateGtag();\r\n logDebug('window.gtag set...');\r\n gtag('js', new Date());\r\n};\r\nconst setConfigGoogleAnalytics4 = ({ debug }) => {\r\n _validateGtag();\r\n // Questo config in automatico, per default, setta send_page_view a true per GA4 (con dei parametri di default).\r\n const analytics4MeasurementId = validateGoogleData(\r\n 'analytics4MeasurementId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementId = some(\r\n dataLayer,\r\n (d) => includes(d, 'config') && includes(d, analytics4MeasurementId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementId) {\r\n if (debug === true) {\r\n gtag('config', analytics4MeasurementId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', analytics4MeasurementId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for measurement id ${analytics4MeasurementId}`\r\n );\r\n }\r\n\r\n const analytics4MeasurementGlobalId = validateGoogleData(\r\n 'analytics4MeasurementGlobalId'\r\n );\r\n\r\n const configAlreadySetAnalytics4MeasurementGlobalId = some(\r\n dataLayer,\r\n (d) =>\r\n includes(d, 'config') && includes(d, analytics4MeasurementGlobalId)\r\n );\r\n if (!configAlreadySetAnalytics4MeasurementGlobalId) {\r\n if (debug === true) {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId, {\r\n debug_mode: debug,\r\n });\r\n } else {\r\n gtag('config', configAlreadySetAnalytics4MeasurementGlobalId);\r\n }\r\n logEvent(\r\n `GA4 pageview via \\'config\\' for Global measurement id ${analytics4MeasurementGlobalId}`\r\n );\r\n }\r\n};\r\n\r\nconst recordGA4BannerClick = ({ linkUrl, title, index }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'banner',\r\n item_id: linkUrl,\r\n title,\r\n index,\r\n };\r\n logEvent(\r\n `GA4 custom event BANNER CLICK: ${linkUrl} ${title} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4PromoImagesClick = ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'promoImages',\r\n item_id: linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n };\r\n logEvent(\r\n `GA4 custom event PROMO IMAGES CLICK: ${linkUrl} ${promoMessage.message} ${index}`,\r\n obj\r\n );\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4InfoboxClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'infobox',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event INFOBOX CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4NewsHomepageClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'news',\r\n };\r\n logEvent(`GA4 custom event NEWS HOMEPAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4HelpClick = () => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'help',\r\n };\r\n logEvent(`GA4 custom event HELP PAGE`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4CategoryClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'category',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event CATEGORY CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4LogonClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'logon',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event LOGON CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nconst recordGA4RegisterClick = ({ linkUrl }) => {\r\n _validateGtag();\r\n const obj = {\r\n content_type: 'register',\r\n item_id: linkUrl,\r\n };\r\n logEvent(`GA4 custom event REGISTER CLICK: ${linkUrl}`, obj);\r\n gtag('event', 'select_content', obj);\r\n};\r\n\r\nexport {\r\n beginCheckout,\r\n purchase,\r\n newsletterRegistration,\r\n viewItem,\r\n searchItemsResults,\r\n viewItemList,\r\n viewCart,\r\n addShippingInfo,\r\n addToCart,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n init,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n};\r\n","import cookieService from '../cookieService.js';\r\nimport {\r\n beginCheckout as ga4BeginCheckout,\r\n purchase as ga4Purchase,\r\n newsletterRegistration as ga4NewsletterRegistration,\r\n viewItem as ga4ViewItem,\r\n searchItemsResults as ga4SearchItemsResults,\r\n viewItemList as ga4ViewItemList,\r\n viewCart as ga4ViewCart,\r\n addShippingInfo as ga4AddShippingInfo,\r\n addToCart as ga4AddToCart,\r\n addPaymentInfo as ga4AddPaymentInfo,\r\n closePopUp as ga4ClosePopUp,\r\n popUpButtonClick as ga4PopUpButtonClick,\r\n init as initGoogleAnalytics4,\r\n setConfigGoogleAnalytics4,\r\n recordGA4BannerClick,\r\n recordGA4PromoImagesClick,\r\n recordGA4InfoboxClick,\r\n recordGA4NewsHomepageClick,\r\n recordGA4HelpClick,\r\n recordGA4CategoryClick,\r\n recordGA4LogonClick,\r\n recordGA4RegisterClick,\r\n} from './ga4Service.js';\r\nimport {\r\n beginCheckout as adsBeginCheckoutSendConversion,\r\n purchaseDynamicRemarketing,\r\n purchaseConversion,\r\n adsSearchItemResultsDynamicRemarketing,\r\n adsViewItemListDynamicRemarketing,\r\n adsViewItemDynamicRemarketing,\r\n adsAddToCartDynamicRemarketing,\r\n adsAddToCartConversion,\r\n newsletterRegistration as adsNewsletterRegistrationSendConversion,\r\n initConversions,\r\n} from './adsService.js';\r\nimport {\r\n init as initFbq,\r\n addToCart as fbqAddToCart,\r\n fbqPixelId,\r\n pageView as fbqPageView,\r\n beginCheckout as fbqBeginCheckout,\r\n newsletterRegistration as fbqNewsletterRegistration,\r\n contact as fbqContact,\r\n search as fbqSearch,\r\n addPaymentInfo as fbqAddPaymentInfo,\r\n viewItem as fbqViewItem,\r\n purchase as fbqPurchase,\r\n} from './facebookService.js';\r\n\r\nimport { logDebug, logWarn, logError, logEvent } from '../../tracing.js';\r\nimport { isArray } from 'lodash';\r\nimport { validateGoogleData } from '../data/dataPageService.js';\r\n\r\nconst pageTypes = {\r\n view_item: 'view_item',\r\n view_item_list: 'view_item_list',\r\n cart: 'cart',\r\n view_search_results: 'view_search_results',\r\n registration: 'registration',\r\n contact: 'contact',\r\n view_cart: 'view_cart',\r\n add_shipping_info: 'add_shipping_info',\r\n add_payment_info: 'add_payment_info',\r\n purchase: 'purchase',\r\n};\r\n\r\nconst _validateEcommPageType = () => {\r\n if (!window.ecomm_pagetype) {\r\n throw new Error('window.ecomm_pagetype is not defined');\r\n }\r\n return window.ecomm_pagetype;\r\n};\r\nconst _validateEcommTransactionId = () => {\r\n if (!window.ecomm_transactionid) {\r\n logError('window.ecomm_transactionid is not defined');\r\n throw new Error('window.ecomm_transactionid is not defined');\r\n }\r\n\r\n if (window.ecomm_transactionid === '00000000-0000-0000-0000-000000000000') {\r\n logError(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n throw new Error(\r\n 'Skipping because orderId happens to be 00000000-0000-0000-0000-000000000000'\r\n );\r\n }\r\n return window.ecomm_transactionid;\r\n};\r\nconst _validateEcommTotalValue = () => {\r\n if (!window.ecomm_totalvalue) {\r\n logError('window.ecomm_totalvalue is not defined');\r\n throw new Error('window.ecomm_totalvalue is not defined');\r\n }\r\n return window.ecomm_totalvalue;\r\n};\r\nconst _validateEcommTotalValueEuro = () => {\r\n if (!window.ecomm_totalvalueeuro) {\r\n logError('window.ecomm_totalvalueeuro is not defined');\r\n throw new Error('window.ecomm_totalvalueeuro is not defined');\r\n }\r\n return window.ecomm_totalvalueeuro;\r\n};\r\n\r\nconst _validateEcommCurrency = () => {\r\n if (!window.ecomm_currency) {\r\n logError('window.ecomm_currency is undefined');\r\n throw new Error('window.ecomm_currency is undefined');\r\n }\r\n return window.ecomm_currency;\r\n};\r\n\r\nconst _validateEcommSearchTerm = () => {\r\n if (!window.ecomm_searchterm) {\r\n logError('window.ecomm_searchterm is undefined');\r\n throw new Error('window.ecomm_searchterm is undefined');\r\n }\r\n if (window.ecomm_searchterm === '') {\r\n logWarn('window.ecomm_searchterm is empty');\r\n }\r\n return window.ecomm_searchterm;\r\n};\r\nconst _validateEcommItems = () => {\r\n if (!window.ecomm_items) {\r\n logError('window.ecomm_items is undefined');\r\n throw new Error('window.ecomm_items is undefined');\r\n }\r\n if (isArray(window.ecomm_items) && window.ecomm_items.length === 0) {\r\n logWarn('window.ecomm_items is empty');\r\n }\r\n return window.ecomm_items;\r\n};\r\nconst _validateEcommShippingOptionName = () => {\r\n if (!window.ecomm_shippingoptionname) {\r\n logError('window.ecomm_shippingoptionname is undefined');\r\n throw new Error('window.ecomm_shippingoptionname is undefined');\r\n }\r\n if (window.ecomm_shippingoptionname === '') {\r\n logWarn('window.ecomm_shippingoptionname is empty');\r\n }\r\n return window.ecomm_shippingoptionname;\r\n};\r\nconst _validateEcommShippingFeesEuro = () => {\r\n if (!window.ecomm_shippingfeeseuro) {\r\n logError('window.ecomm_shippingfeeseuro is undefined');\r\n throw new Error('window.ecomm_shippingfeeseuro is undefined');\r\n }\r\n if (window.ecomm_shippingfeeseuro === '') {\r\n logWarn('window.ecomm_shippingfeeseuro is empty');\r\n }\r\n return window.ecomm_shippingfeeseuro;\r\n};\r\nconst _validateEcommEmail = () => {\r\n if (!window.ecomm_email) {\r\n logError('window.ecomm_email is undefined');\r\n throw new Error('window.ecomm_email is undefined');\r\n }\r\n return window.ecomm_email;\r\n};\r\n\r\nconst _sendInitiateCheckout = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.cart) {\r\n const cartId = _validateEcommTransactionId();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqBeginCheckout({\r\n currency,\r\n value: totaleuro,\r\n items,\r\n eventId: cartId,\r\n });\r\n\r\n ga4BeginCheckout({\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n adsBeginCheckoutSendConversion({\r\n cartId,\r\n currency,\r\n totaleuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst _sendNewsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendRegistration');\r\n fbqNewsletterRegistration({ url, email });\r\n ga4NewsletterRegistration({\r\n url,\r\n email,\r\n });\r\n adsNewsletterRegistrationSendConversion({\r\n email,\r\n });\r\n};\r\n\r\nconst sendRegistration = ({ url, email }) => {\r\n return initLibs()\r\n .then(() => {\r\n try {\r\n _sendNewsletterRegistration({ url, email });\r\n } catch (error) {\r\n throw new Error(error.message);\r\n }\r\n })\r\n .catch((err) => {\r\n logError('sendRegistration from form ', err.message, url, email);\r\n return err;\r\n });\r\n};\r\n\r\nconst _sendRegistration = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.registration\r\n ) {\r\n const email = _validateEcommEmail();\r\n _sendNewsletterRegistration({ url: window.location.href, email });\r\n }\r\n};\r\n\r\nconst _sendFbqContact = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.contact) {\r\n logDebug('_sendFbqContact');\r\n fbqContact();\r\n }\r\n};\r\n\r\nconst _sendViewItem = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourViewItem');\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4ViewItem({\r\n currency,\r\n value,\r\n items,\r\n });\r\n adsViewItemDynamicRemarketing({ value, items });\r\n }\r\n};\r\n\r\nconst _sendSearchItemResults = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_search_results\r\n ) {\r\n logDebug('_sendSearchItemResults');\r\n const searchterm = _validateEcommSearchTerm();\r\n const items = _validateEcommItems();\r\n\r\n fbqSearch({ searchterm });\r\n ga4SearchItemsResults({ searchterm });\r\n adsSearchItemResultsDynamicRemarketing({ searchterm, items });\r\n }\r\n};\r\n\r\nconst _sendViewItemList = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item_list\r\n ) {\r\n logDebug('_sendViewItemList');\r\n const items = _validateEcommItems();\r\n ga4ViewItemList({\r\n items,\r\n });\r\n adsViewItemListDynamicRemarketing({ items });\r\n }\r\n};\r\n\r\nconst _sendViewCart = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_cart\r\n ) {\r\n logDebug('_sendViewCart');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const totaleuro = _validateEcommTotalValueEuro();\r\n const items = _validateEcommItems();\r\n ga4ViewCart({ cartId, currency, totaleuro, items });\r\n }\r\n};\r\n\r\nconst _sendShippingInfo = () => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.add_shipping_info\r\n ) {\r\n logDebug('_sendGoogleAnalyticsFourShippingInfo');\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping_tier = _validateEcommShippingOptionName();\r\n ga4AddShippingInfo({ cartId, currency, value, items, shipping_tier });\r\n }\r\n};\r\n\r\nconst addPaymentInfo = ({ payment, value }) => {\r\n logDebug('addPaymentInfo');\r\n return initLibs().then(() => {\r\n const cartId = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const items = _validateEcommItems();\r\n fbqAddPaymentInfo({ currency, value, items, eventId: cartId });\r\n ga4AddPaymentInfo({ currency, value, items, payment });\r\n return payment;\r\n });\r\n};\r\n\r\nconst closePopUp = () => {\r\n logDebug('closePopUp');\r\n return initLibs().then(() => {\r\n ga4ClosePopUp();\r\n return;\r\n });\r\n};\r\n\r\nconst popUpButtonClick = () => {\r\n logDebug('popUpButtonClick');\r\n return initLibs().then(() => {\r\n ga4PopUpButtonClick();\r\n return;\r\n });\r\n};\r\n\r\nconst initLibs = () => {\r\n // https://support.google.com/analytics/answer/7201382?hl=en\r\n\r\n return new Promise((resolve, reject) => {\r\n if (window.gtag && window.fbq) {\r\n logDebug('window.gtag && window.fbq ALL INITIALIZED!');\r\n \r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n let retryCount = 4;\r\n const interval = setInterval(function () {\r\n try {\r\n logDebug('--> Run analytics script');\r\n\r\n const analytics4EnableDebug = validateGoogleData(\r\n 'analytics4EnableDebug',\r\n false\r\n );\r\n\r\n if (!window.gtag) {\r\n initGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n }\r\n // FACEBOOK\r\n if (!window.fbq) {\r\n initFbq();\r\n }\r\n\r\n if (window.gtag && window.fbq) {\r\n logDebug('--> ga gtag and fbq ALL DEFINED');\r\n\r\n clearInterval(interval);\r\n return resolve({\r\n gtag: window.gtag,\r\n fbq: window.fbq,\r\n analytics4EnableDebug,\r\n });\r\n }\r\n if (retryCount === 0) {\r\n clearInterval(interval);\r\n return reject('Some function is not defined');\r\n }\r\n\r\n retryCount = retryCount - 1;\r\n } catch (error) {\r\n reject(error);\r\n }\r\n }, 1000);\r\n });\r\n};\r\n\r\nconst addToCart = ({\r\n isKit,\r\n guid,\r\n quantity,\r\n options,\r\n currency,\r\n price,\r\n disciplines,\r\n categories,\r\n brandName,\r\n transactionId,\r\n}) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n initLibs().then(() => {\r\n const id = isKit ? guid : `${guid}-${options[0].optionId}`;\r\n fbqAddToCart({\r\n isKit,\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n eventId: transactionId,\r\n });\r\n const items = _validateEcommItems();\r\n\r\n // Commentato per evitare eventi duplicati, essendoci dynamic remarketing\r\n ga4AddToCart({\r\n id,\r\n quantity,\r\n currency,\r\n price,\r\n items,\r\n disciplines,\r\n categories,\r\n brandName,\r\n });\r\n\r\n adsAddToCartDynamicRemarketing({\r\n id,\r\n price,\r\n });\r\n adsAddToCartConversion({\r\n id,\r\n currency,\r\n price,\r\n items,\r\n transactionId,\r\n });\r\n });\r\n }\r\n};\r\n\r\nconst viewItemFbq = async ({ slug, guid, options, currencyCode, isKit }) => {\r\n if (\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.view_item\r\n ) {\r\n await initLibs();\r\n\r\n fbqViewItem({ slug, guid, options, currencyCode, isKit });\r\n }\r\n};\r\n\r\nconst _sendPurchase = () => {\r\n if (window.ecomm_pagetype && window.ecomm_pagetype === pageTypes.purchase) {\r\n const transaction_id = _validateEcommTransactionId();\r\n const currency = _validateEcommCurrency();\r\n const value = _validateEcommTotalValue();\r\n const items = _validateEcommItems();\r\n const shipping = _validateEcommShippingFeesEuro();\r\n const valueDecimal = parseFloat(value);\r\n const shippingDecimal = parseFloat(shipping);\r\n fbqPurchase({ currency, value, items, eventId: transaction_id });\r\n ga4Purchase({\r\n transaction_id,\r\n currency,\r\n value: valueDecimal,\r\n shipping: shippingDecimal,\r\n items,\r\n });\r\n purchaseDynamicRemarketing({\r\n value: valueDecimal,\r\n items,\r\n });\r\n\r\n logDebug(`Preparing purchaseConversion data...`);\r\n logDebug(`transaction_id ${transaction_id}`);\r\n const totalEuro = parseFloat(_validateEcommTotalValueEuro());\r\n logDebug(`totalEuro ${totalEuro}`);\r\n purchaseConversion({\r\n orderId: transaction_id,\r\n currency,\r\n totalEuro,\r\n items,\r\n });\r\n }\r\n};\r\n\r\nconst sendGoogleSurvey = ({\r\n enableGoogleSurvey,\r\n merchantId,\r\n orderId,\r\n userEmail,\r\n deliveryCountry,\r\n estimatedDeliveryDate,\r\n surveyoptin,\r\n}) => {\r\n const handleSurvey =\r\n window.ecomm_pagetype &&\r\n window.ecomm_pagetype === pageTypes.purchase &&\r\n enableGoogleSurvey;\r\n console.log('handleSurvey', handleSurvey);\r\n if (handleSurvey) {\r\n console.log('handle');\r\n\r\n const surveyObj = {\r\n merchant_id: merchantId,\r\n order_id: orderId,\r\n email: userEmail,\r\n delivery_country: deliveryCountry,\r\n estimated_delivery_date: estimatedDeliveryDate,\r\n };\r\n logEvent('gooogle survey', surveyObj);\r\n if (!surveyoptin) {\r\n logError('window.gapi.surveyoptin is not defined');\r\n return;\r\n }\r\n console.log('surveyoptin');\r\n surveyoptin.render(surveyObj);\r\n } else {\r\n logDebug(\r\n `Google survey script is disabled for merchantId ${merchantId}. Delivery country: ${deliveryCountry} Order id: ${orderId}`\r\n );\r\n }\r\n};\r\n\r\nconst run = () => {\r\n try {\r\n logDebug('Starting marketing and analytics service...');\r\n initLibs()\r\n .then(({ gtag, fbq, analytics4EnableDebug }) => {\r\n try {\r\n logDebug('window.googleData', window.googleData);\r\n logDebug('window.facebookData', window.facebookData);\r\n\r\n setConfigGoogleAnalytics4({ debug: analytics4EnableDebug });\r\n initConversions();\r\n let thirdPartyConsent = cookieService.getThirdParty();\r\n let marketingPartyConsent =\r\n cookieService.getMarketingParty();\r\n\r\n if (thirdPartyConsent) {\r\n logDebug('Executing actions for thirdPartyConsent...');\r\n fbqPixelId();\r\n fbqPageView();\r\n } else {\r\n logDebug(`No third party consent given`);\r\n }\r\n if (marketingPartyConsent) {\r\n logDebug(\r\n 'Executing actions for marketingPartyConsent...'\r\n );\r\n\r\n _sendInitiateCheckout();\r\n _sendPurchase();\r\n\r\n _sendRegistration();\r\n _sendFbqContact();\r\n _sendViewItem();\r\n _sendSearchItemResults();\r\n _sendViewItemList();\r\n _sendViewCart();\r\n _sendShippingInfo();\r\n } else {\r\n logDebug(`No marketing consent given`);\r\n }\r\n } catch (error) {\r\n logError(`Error on run. ${error}`);\r\n }\r\n })\r\n .catch((err) => {\r\n logError(`Error on run after initializing libs. ${err}`);\r\n });\r\n } catch (error) {\r\n logError(`Error on run() : ${error}`);\r\n }\r\n};\r\n\r\nconst recordBannerClick = async ({ linkUrl, title, index }) => {\r\n try {\r\n await initLibs();\r\n recordGA4BannerClick({ linkUrl, title, index });\r\n } catch (error) {\r\n logError(\r\n `Error recording banner click for url: ${linkUrl} - title: ${title} - index: ${index}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordPromoImagesClick = async ({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n}) => {\r\n try {\r\n await initLibs();\r\n recordGA4PromoImagesClick({\r\n linkUrl,\r\n promoMessage,\r\n index,\r\n imageSrc,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording promo images click for url: ${linkUrl} - promoMessage: ${promoMessage} - index: ${index} - imageSrc: ${imageSrc}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordInfoboxClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4InfoboxClick({\r\n linkUrl,\r\n });\r\n } catch (error) {\r\n logError(\r\n `Error recording infoboxes click for url: ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordNewsHomepageClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4NewsHomepageClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\n\r\nconst recordHelpClick = async () => {\r\n try {\r\n await initLibs();\r\n recordGA4HelpClick();\r\n } catch (error) {\r\n logError(`Error recording news homepage click.`, error.message);\r\n }\r\n};\r\nconst recordCategoryClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4CategoryClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording category click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nconst recordLogonClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4LogonClick({ linkUrl });\r\n } catch (error) {\r\n logError(`Error recording logon click for ${linkUrl}`, error.message);\r\n }\r\n};\r\n\r\nconst recordRegisterClick = async ({ linkUrl }) => {\r\n try {\r\n await initLibs();\r\n recordGA4RegisterClick({ linkUrl });\r\n } catch (error) {\r\n logError(\r\n `Error recording register click for ${linkUrl}`,\r\n error.message\r\n );\r\n }\r\n};\r\n\r\nexport default {\r\n run,\r\n initLibs,\r\n addToCart,\r\n viewItemFbq,\r\n addPaymentInfo,\r\n closePopUp,\r\n popUpButtonClick,\r\n sendGoogleSurvey,\r\n sendRegistration,\r\n recordBannerClick,\r\n recordPromoImagesClick,\r\n recordInfoboxClick,\r\n recordNewsHomepageClick,\r\n recordHelpClick,\r\n recordCategoryClick,\r\n recordLogonClick,\r\n recordRegisterClick,\r\n};\r\n","import {\r\n logDebug,\r\n logInfo,\r\n logWarn,\r\n logError,\r\n logEvent,\r\n} from '../../tracing.js';\r\n\r\nimport { map } from 'lodash';\r\nconst _prefix = 'FBQ';\r\n\r\nconst _validateFbq = () => {\r\n if (!fbq) {\r\n throw new Error('fbq is null or undefined');\r\n }\r\n};\r\n\r\nconst _validateFbqData = (prop) => {\r\n if (!window.facebookData) {\r\n throw new Error(`${_prefix} window.facebookData is not defined`);\r\n }\r\n if (!window.facebookData[prop]) {\r\n throw new Error(\r\n `${_prefix} ${prop} is not defined on window.facebookData`\r\n );\r\n }\r\n};\r\n\r\nconst fbqPixelId = () => {\r\n _validateFbqData('pixelId');\r\n _validateFbqData('fbCulture');\r\n _validateFbq();\r\n logDebug(\r\n `PixelId: ${window.facebookData.pixelId} fbCulture: ${window.facebookData.fbCulture} `\r\n );\r\n logDebug('Firing pixelId', window.facebookData.pixelId);\r\n fbq('init', window.facebookData.pixelId);\r\n};\r\n\r\nconst init = () => {\r\n //Facebook pixelId\r\n !(function (f, b, e, v, n, t, s) {\r\n if (f.fbq) return;\r\n n = f.fbq = function () {\r\n n.callMethod\r\n ? n.callMethod.apply(n, arguments)\r\n : n.queue.push(arguments);\r\n };\r\n if (!f._fbq) f._fbq = n;\r\n n.push = n;\r\n n.loaded = !0;\r\n n.version = '2.0';\r\n n.queue = [];\r\n t = b.createElement(e);\r\n t.async = !0;\r\n t.src = v;\r\n s = b.getElementsByTagName(e)[0];\r\n s.parentNode.insertBefore(t, s);\r\n })(\r\n window,\r\n document,\r\n 'script',\r\n 'https://connect.facebook.net/en_US/fbevents.js'\r\n );\r\n};\r\n\r\nconst addToCart = ({ isKit, id, quantity, currency, price, eventId }) => {\r\n _validateFbq();\r\n const addToCartObject = {\r\n content_name: isKit\r\n ? `${window.$pathBase}Cart/AddKitToCartNew`\r\n : `${window.$pathBase}Cart/AddProductToCartNew`,\r\n content_type: 'product',\r\n contents: [\r\n {\r\n id,\r\n quantity: Number(quantity),\r\n },\r\n ],\r\n currency: currency,\r\n value: price,\r\n };\r\n\r\n logEvent(`${_prefix} AddToCart Facebook`, addToCartObject);\r\n fbq('track', 'AddToCart', addToCartObject, { eventID: eventId });\r\n};\r\n\r\nconst pageView = () => {\r\n _validateFbq();\r\n logEvent(`${_prefix} PageView Facebook`);\r\n fbq('track', 'PageView');\r\n};\r\n\r\nconst beginCheckout = ({ currency, value, items, eventId }) => {\r\n logDebug('_sendFbqInitiateCheckout');\r\n _validateFbq();\r\n const initiateCheckoutData = {\r\n currency,\r\n value,\r\n num_items: items.length,\r\n contents: map(items, (item) => ({\r\n id: item.facebookId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} InitiateCheckout Facebook`, initiateCheckoutData);\r\n fbq('track', 'InitiateCheckout', initiateCheckoutData, {\r\n eventID: eventId,\r\n });\r\n};\r\n\r\nconst newsletterRegistration = ({ url, email }) => {\r\n logDebug('_sendFbqRegistration');\r\n _validateFbq();\r\n const completeRegistrationObj = {\r\n status: true,\r\n content_name: url === undefined ? window.location.href : url,\r\n value: email,\r\n };\r\n logEvent(\r\n `${_prefix} CompleteRegistration Facebook`,\r\n completeRegistrationObj\r\n );\r\n fbq('track', 'CompleteRegistration', completeRegistrationObj);\r\n};\r\n\r\nconst contact = () => {\r\n _validateFbq();\r\n\r\n logEvent(`${_prefix} Contact Facebook`);\r\n fbq('track', 'Contact');\r\n};\r\n\r\nconst search = ({ searchterm }) => {\r\n _validateFbq();\r\n logEvent(`${_prefix} Search Facebook`, searchterm);\r\n fbq('track', 'Search', {\r\n search_string: searchterm,\r\n });\r\n};\r\n\r\nconst addPaymentInfo = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n const paymentObj = {\r\n currency,\r\n value,\r\n contents: map(items, (item) => ({\r\n id: item.googleId,\r\n quantity: item.quantity,\r\n })),\r\n };\r\n logEvent(`${_prefix} AddPaymentInfo Facebook`, paymentObj);\r\n fbq('track', 'AddPaymentInfo', paymentObj, { eventID: eventId });\r\n};\r\n\r\nconst viewItem = ({ slug, guid, options, currencyCode, isKit }) => {\r\n _validateFbq();\r\n fbqPixelId();\r\n const viewItemObject = {\r\n content_name: `${window.$pathBase}${slug}`,\r\n content_ids: isKit\r\n ? [`${guid}`]\r\n : map(options, (o) => `${guid}-${o.sourceId}`),\r\n currency: currencyCode,\r\n };\r\n logEvent(`${_prefix} ViewContent Facebook`, viewItemObject);\r\n fbq('track', 'ViewContent', viewItemObject);\r\n};\r\n\r\nconst purchase = ({ currency, value, items, eventId }) => {\r\n _validateFbq();\r\n let purchaseData = {\r\n contents: items.map((li) => ({\r\n id: li.facebookId,\r\n quantity: li.quantity,\r\n })),\r\n content_type: 'product',\r\n value,\r\n currency,\r\n };\r\n logEvent(`${_prefix} Purchase Facebook`, purchaseData);\r\n fbq('track', 'Purchase', purchaseData, { eventID: eventId });\r\n};\r\n\r\nexport {\r\n init,\r\n addToCart,\r\n fbqPixelId,\r\n pageView,\r\n beginCheckout,\r\n newsletterRegistration,\r\n contact,\r\n search,\r\n addPaymentInfo,\r\n viewItem,\r\n purchase,\r\n};\r\n","import React from 'react';\r\nimport { isNil } from 'lodash';\r\n\r\nconst Button = ({ className, text, onClick, type }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Button;\r\n","import React, { useEffect, useState } from 'react';\r\nimport { get, post } from '../common/httpService';\r\nimport marketingAndAnalyticsService from '../services/marketingAndAnalytics/marketingAndAnalyticsService';\r\nimport Button from './Button.jsx';\r\n\r\nimport './PopUp.scss';\r\n\r\nconst PopUp = () => {\r\n const [popUpInfo, setPopUpInfo] = useState({\r\n show: false,\r\n cancelUrl: '',\r\n buttonText: '',\r\n buttonLink: '',\r\n backgroundColor: '',\r\n textColor: '',\r\n borderColor: '',\r\n heading: '',\r\n text: '',\r\n validFrom: '',\r\n validTo: '',\r\n });\r\n\r\n const handleClose = async () => {\r\n try {\r\n post({\r\n url: `home/PopUp`,\r\n });\r\n await marketingAndAnalyticsService.closePopUp();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n setPopUpInfo((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n }));\r\n };\r\n\r\n const getPopUpInfo = async () => {\r\n try {\r\n get({\r\n url: `home/ShowPopUp`,\r\n }).then((r) => {\r\n setPopUpInfo(r);\r\n });\r\n } catch (error) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n const handleButtonClick = async () => {\r\n try {\r\n await marketingAndAnalyticsService.popUpButtonClick();\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n window.location = popUpInfo.buttonLink;\r\n };\r\n\r\n useEffect(() => {\r\n getPopUpInfo();\r\n }, []);\r\n\r\n const style = {\r\n backgroundColor: popUpInfo.backgroundColor,\r\n color: popUpInfo.textColor,\r\n borderColor: popUpInfo.borderColor,\r\n };\r\n\r\n return popUpInfo.show ? (\r\n