{% sw_extends '@Storefront/storefront/base.html.twig' %}
{% block base_body_script %}
{{ parent() }}
<script type="text/javascript">
document.addEventListener("DOMContentLoaded", function(event) {
var substring = 'shopsyKlaviyo=shopsyKlaviyo';
var checkCookie = document.cookie.indexOf(substring) !== -1;
var cookieRequired;
if (document.getElementsByName('cookieRequired')[0] !== undefined) {
cookieRequired = document.getElementsByName('cookieRequired')[0].value;
}
if (cookieRequired !== "1" || checkCookie) {
waitForKlaviyoElement('form button.needsclick').then((elm) => {
const submitbutton = document.querySelectorAll('form button.needsclick');
submitbutton[0].addEventListener('click', function () {
const email = document.querySelectorAll('form input.needsclick[type=email]')[0].value;
window.localStorage.setItem('klaviyoValue', btoa(email));
});
});
var imported = document.createElement('script');
imported.src = 'https://static.klaviyo.com/onsite/js/klaviyo.js?company_id={{ page.shopsyKlaviyo.apiKey }}';
imported.setAttribute("type", "text/javascript");
imported.async = 'async';
document.head.appendChild(imported);
}
if (checkCookie || cookieRequired !== "1") {
!function () {
if (!window.klaviyo) {
window._klOnsite = window._klOnsite || [];
try {
window.klaviyo = new Proxy({}, {
get: function (n, i) {
return "push" === i ? function () {
var n;
(n = window._klOnsite).push.apply(n, arguments)
} : function () {
for (var n = arguments.length, o = new Array(n), w = 0; w < n; w++)
o[w] = arguments[w];
var t = "function" == typeof o[o.length - 1] ? o.pop() : void 0,
e = new Promise(function (n) {
window._klOnsite.push([i].concat(o, [function (i) {
t && t(i), n(i)
}]))
});
return e
}
}
})
} catch (n) {
window.klaviyo = window.klaviyo || [], window.klaviyo.push = function () {
var n;
(n = window._klOnsite).push.apply(n, arguments)
}
}
}
}();
(function () {
var b = document.createElement('script');
b.type = 'text/javascript';
b.async = true;
b.src = ('https:' === document.location.protocol ? 'https://' : 'http://') + 'static.klaviyo.com/onsite/js/klaviyo.js?company_id={{ page.shopsyKlaviyo.apiKey }}';
var a = document.getElementsByTagName('script')[0];
a.parentNode.insertBefore(b, a);
})();
}
});
function waitForKlaviyoElement(selector) {
return new Promise(resolve => {
if (document.querySelector(selector)) {
return resolve(document.querySelector(selector));
}
const observer = new MutationObserver(mutations => {
if (document.querySelector(selector)) {
resolve(document.querySelector(selector));
observer.disconnect();
}
});
observer.observe(document.body, {
childList: true,
subtree: true
});
});
}
</script>
{% endblock %}
{% block base_body %}
{{ parent() }}
{% sw_include '@ShopsyKlaviyo6/storefront/shopsy-klaviyo/shopsy-klaviyo-hidden-input-fields.html.twig' %}
{% endblock %}