Untitled
unknown
plain_text
2 years ago
8.6 kB
4
Indexable
(function(w) {
"use strict";
var tag = "cv-2-0", // TO DO: test name
debug = document.cookie.indexOf('cfQA') > -1,
window = typeof unsafeWindow !== "undefined" ? unsafeWindow : w;
let cvBanner = `<div class="${tag}-banner">
<div class="${tag}-tiles">
<img class="${tag}-bannerImg" src="https://cfactory-img.s3.amazonaws.com/CGC/2.0/icon2-1.svg">
<span>No commitment</span>
</div>
<div class="${tag}-tiles">
<img class="${tag}-bannerImg" src="https://cfactory-img.s3.amazonaws.com/CGC/2.0/icon2-3.svg">
<span>Free delivery</span></div>
<div class="${tag}-tiles">
<img class="${tag}-bannerImg" src="https://cfactory-img.s3.amazonaws.com/CGC/2.0/icon2-2.svg">
<span>Unique gins</span></div>
</div>`;
window[tag] = {
log: function(msg) {
// if (debug) console.log("[CONV]", tag, "-->", msg);
},
waitForElement: function(cssSelector, callback, stopTime = 5000) {
var stop,
elementCached,
timeout,
check = function() {
try {
elementCached = document.querySelector(cssSelector);
if (stop) return;
if (elementCached) {
callback(elementCached);
clearTimeout(timeout);
window[tag].log(cssSelector + " found");
} else {
window.requestAnimationFrame(check);
}
} catch (err) {
window[tag].log(err.message);
}
};
window.requestAnimationFrame(check);
timeout = setTimeout(function() {
stop = true;
window[tag].log(cssSelector + " not found");
}, stopTime);
},
testStart: function() {
try {
this.waitForElement("body", function(docBody) {
docBody.classList.add(tag);
});
if (debug && document.title.indexOf("CONV QA") < 0) {
document.title = "[CONV QA] " + document.title;
}
initVariation();
window[tag].log("test running");
} catch (err) {
window[tag].log(err.message);
}
},
};
window[tag].testStart();
function initVariation() {
if ((!document.querySelector(`.${tag}-banner`))) {
window[tag].waitForElement('#app .site-header', appHeader);
if ((window.location.href.indexOf("sign-up") !== -1) || (window.location.href.indexOf("membership-selection") !== -1) || (window.location.href.indexOf("checkout-address") !== -1)) {
setTimeout(function(){
console.log('sign in');
document.querySelector("body").classList.add(`${tag}-sign`);
if (window.innerWidth < 842) {
window[tag].waitForElement('.checkout-header .checkout-header__contain .checkout-header__rating', function() {
document.querySelector(".checkout-header__contain").insertAdjacentHTML("beforebegin", cvBanner);
});
} else {
window[tag].waitForElement('.checkout-header .checkout-header__contain .checkout-header__rating', function() {
document.querySelector(".checkout-header").insertAdjacentHTML("afterend", cvBanner);
});
}
},2000);
} else {
window[tag].waitForElement('header.site-header--original> div:first-child', function() {
document.querySelector("header.site-header--original> div:first-child").insertAdjacentHTML("afterend", cvBanner);
scroll();
});
}
moveElement();
}
}
function moveElement() {
if (window.location.pathname === "/") {
if (window.innerWidth < 842) {
window[tag].waitForElement('.hero-home > img:first-of-type', function() {
document.querySelector(".hero-home > img:first-of-type").insertAdjacentElement("afterend", document.querySelector(".site-header__container ~ .site-header__notification"));
}, 10000);
} else {
window[tag].waitForElement('.hero-home__container', function() {
document.querySelector(".hero-home__container").insertAdjacentElement("beforeend", document.querySelector(".site-header__container ~ .site-header__notification"));
}, 10000);
}
}
}
function appHeader() {
if ((!document.querySelector(`.${tag}-banner`))) {
if (document.querySelector("#app .site-header")) {
document.querySelector("#app .site-header").insertAdjacentHTML("afterend", cvBanner);
}
}
};
function scroll() {
window.addEventListener('scroll', function() {
var header = document.querySelector('.site-header.site-header--original .site-header__container');
var banner = document.querySelector(`.${tag}-banner`);
var headerRect = header.getBoundingClientRect();
if (headerRect.height < window.scrollY) {
banner.classList.add('cv-sticky');
} else {
banner.classList.remove('cv-sticky');
}
});
}
})(window);
.cv-2-0-banner {
display: flex;
flex-direction: row;
justify-content: space-around;
background: #e7f2eb;
padding: 14px 1px;
}
html body .dropdown-content {
z-index: 999 !important;
}
.cv-2-0-tiles {
font-size: 14px;
font-weight: 600;
line-height: 1.3;
text-align: center !important;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.cv-2-0-tiles span {
padding-top: 4px;
color: #343578 !important;
}
.cv-2-0-banner {
position: relative;
/* z-index: 99; */
}
.cv-2-0-banner.cv-sticky {
position: fixed;
top: 0;
width: 100%;
}
.site-header__notification {
z-index: 99 !important;
}
.cv-2-0.cv-2-0-sign #app {
padding-top: 0 !important;
}
.cv-2-0.cv-2-0-sign #app .section {
padding-top: 0 !important;
display: none !important;
padding-bottom: 0 !important;
}
.cv-2-0-banner>div:not(:last-child) {
border-right: 1px solid #2323232e !important;
padding-right: 24px !important;
}
.cv-2-0-tiles img {
width: 28px !important;
height: 28px !important;
}
@media screen and (min-width: 842px) {
.cv-2-0-tiles {
display: flex;
flex-direction: row !important;
justify-content: center;
align-items: center;
}
.cv-2-0-tiles img {
margin-right: 8px !important;
}
.cv-2-0-banner.cv-sticky {
padding: 16px 0 !important;
}
.cv-2-0.cv-2-0-sign .checkout-header__logo {
z-index: 999 !important;
background: #fff !important;
border-radius: 30%;
}
.site-header__logo {
z-index: 999 !important;
}
.cv-2-0.cv-2-0-sign .cv-2-0-banner {
margin-bottom: 40px !important;
}
.cv-2-0-banner>div {
padding-right: 33px !important;
padding-left: 33px !important;
}
}
@media screen and (max-width: 380px) {
.cv-2-0-tiles {
font-size: 12px !important;
}
.cv-2-0-banner>div:not(:last-child) {
padding-right: 15px;
}
}
@media screen and (max-width: 420px) {
.cv-2-0-banner.cv-sticky {
padding: 7px 2px !important;
}
}
@media screen and (min-width: 420px) and (max-width: 842px) {
.cv-2-0-banner.cv-sticky {
padding: 5px 2px !important;
}
}
@media screen and (max-height: 700px) {
.site-header__notification {
z-index: 99 !important;
}
.hero-home__container {
max-height: 85vh !important;
}
.hero-home__content {
height: 222px !important;
}
}
@media screen and (min-width: 550px) {
.cv-2-0-banner {
justify-content: center !important;
}
.cv-2-0-banner>div {
padding-right: 25px !important;
padding-left: 25px !important;
}
}
@media (min-width: 842px) and (max-width: 1000px) {
.hero-home__container {
height: 28vh !important;
}
.hero-home__content {
padding-top: 2rem !important;
}
}
@media screen and (max-width: 842px) {
.cv-2-0.cv-2-0-sign .checkout-header {
padding-bottom: 16px !important;
}
}
@media (min-width: 1000px)
.handle-membership-selection #app .checkout-header, .handle-sign-up #app .checkout-header {
margin: 0 0 0 0 !important;
}
}Editor is loading...