UNPKG

gatsby-plugin-iubenda-cookie-footer

Version:
28 lines (27 loc) 1.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.onRenderBody = void 0; var _react = _interopRequireDefault(require("react")); var _utils = require("./utils"); var onRenderBody = function onRenderBody(_ref, options) { var setPostBodyComponents = _ref.setPostBodyComponents; // the cookiePolicyId option is required if (!options || !options.iubendaOptions) { throw new Error("gatsby-plugin-iubenda-cookie-footer: Missing `options.iubendaOptions`"); } var callback = ""; if ((0, _utils.isGTMEnabled)(options)) { var gtmDataLayerName = (0, _utils.getGTMDataLayerName)(options); // see https://www.iubenda.com/en/help/1235-how-to-use-google-tag-manager-to-simplify-the-adoption-of-cookie-law-requirements callback = "{onConsentGiven: function() { if(!window." + gtmDataLayerName + "){ window." + gtmDataLayerName + " = [] } window." + gtmDataLayerName + ".push({ 'event': '" + (0, _utils.getGTMEventName)(options) + "' }); }}"; } setPostBodyComponents([/*#__PURE__*/_react.default.createElement('div', { // see https://github.com/gatsbyjs/gatsby/issues/6299 key: "gatsby-plugin-iubenda-cookie-footer", dangerouslySetInnerHTML: { __html: "\n<script type=\"text/javascript\" src=\"//cdn.iubenda.com/cs/tcf/stub.js\"></script><script type=\"text/javascript\">\nvar _iub = _iub || [];\n_iub.csConfiguration = " + JSON.stringify(options.iubendaOptions) + ";\n" + (callback ? "_iub.csConfiguration.callback = " + callback + ";" : "") + "\n</script><script type=\"text/javascript\" src=\"//cdn.iubenda.com/cs/iubenda_cs.js\" charset=\"UTF-8\" async> </script>\n " } })]); }; exports.onRenderBody = onRenderBody;