1const accountChooser = document.querySelector(".account-chooser-block"); 2 3if (accountChooser) { 4 document.querySelector(".js-account-chooser").addEventListener("click", () => { 5 console.log("HELLO ACCOUNT CHOOSER 2"); 6 document.body.classList.add("quiz-active"); 7 initAccountChooser(); 8 }); 9 function initAccountChooser() { 10 11 const chooserBox = accountChooser.querySelector(".chooserBox"); 12 const statusBar = chooserBox.querySelector(".status-bar"); 13 const nextbutton = accountChooser.querySelector(".js-next"); 14 const prevbutton = accountChooser.querySelector(".js-prev"); 15 const firstQuestion = accountChooser.querySelector('[data-parent="0"]'); 16 statusBar.classList.add('active') 17 statusBar.dataset.level = 0; 18 statusBar.querySelectorAll(".dot").forEach((dot) => { 19 if (dot.dataset.level == 0) { 20 dot.classList.add("active"); 21 } else { 22 dot.classList.remove("active"); 23 } 24 }); 25 26 prevbutton.style.display = "none"; 27 // document.querySelector(".js-account-chooser").style.opacity = "0"; 28 setTimeout(()=> { 29 // document.querySelector(".js-account-chooser").style.display = "none"; 30 31 // nextbutton.style.display = "block"; 32 // nextbutton.style.opacity = "1"; 33 loadQuestion(firstQuestion, true); 34 }, 200) 35 36 accountChooser.querySelector(".results").style.display = "none"; 37 38 const radios = accountChooser.querySelectorAll("input[type=radio]"); 39 radios.forEach((radio) => { 40 radio.checked = false; 41 }); 42 } 43 44 function loadQuestion(activeEl, first = false) { 45 const questions = accountChooser.querySelectorAll("fieldset"); 46 const statusBar = accountChooser.querySelector(".status-bar"); 47 const nextbutton = accountChooser.querySelector(".js-next"); 48 const prevbutton = accountChooser.querySelector(".js-prev"); 49 50 questions.forEach((el) => { 51 el.classList.remove("active"); 52 el.style.display = "none"; 53 }); 54 if (first) { 55 vSlideDown(activeEl); 56 } else { 57 activeEl.style.display = "block"; 58 } 59 60 setTimeout(() => { 61 activeEl.classList.add("active"); 62 },100) 63 64 65 statusBar.querySelectorAll(".dot").forEach((dot) => { 66 if (dot.dataset.level == activeEl.dataset.level) { 67 dot.classList.add("active"); 68 } else { 69 dot.classList.remove("active"); 70 } 71 }); 72 if (activeEl.dataset.level > 0) { 73 // prevbutton.style.display = "block"; 74 } 75 } 76 accountChooser.querySelector(".js-next").addEventListener("click", () => { 77 const activeEl = accountChooser.querySelector("fieldset.active"); 78 const radios = activeEl.querySelectorAll("input[type=radio]"); 79 console.log(activeEl); 80 radios.forEach((radio) => { 81 if (radio.checked) { 82 if (radio.value == "result") { 83 const resultsBox = accountChooser.querySelector(".results"); 84 const resultsData = accountChooser.querySelector(`.result-modal[data-id="${radio.id}"]`); 85 86 resultsBox.querySelector(".inject").innerHTML = resultsData.dataset.copy 87 ? resultsData.dataset.copy 88 : ""; 89 resultsBox.querySelector(".page-name").innerHTML = resultsData.dataset.pageName 90 ? resultsData.dataset.pageName 91 : ""; 92 resultsBox.querySelector( 93 ".page-name" 94 ).style = `--iconURL: url(${resultsData.dataset.image})`; 95 resultsBox.querySelector(".result-page").href = resultsData.dataset.resultPage; 96 97 resultsBox.style.display = "grid"; 98 accountChooser.querySelector(".content").style.display = "none"; 99 100 accountChooser.querySelectorAll(".actions button").forEach((el) => { 101 el.style.display = "none"; 102 }); 103 } else { 104 const newEl = accountChooser.querySelector(`[data-id="${radio.value}"]`); 105 console.log(newEl); 106 loadQuestion(newEl); 107 } 108 } 109 }); 110 }); 111 accountChooser.querySelector(".js-prev").addEventListener("click", (el) => { 112 const activeEl = accountChooser.querySelector("fieldset.active"); 113 const newEl = accountChooser.querySelector(`[data-id="${activeEl.dataset.parent}"]`); 114 loadQuestion(newEl); 115 }); 116 117 accountChooser.querySelector(".js-replay").addEventListener("click", () => { 118 initAccountChooser(); 119 accountChooser.querySelector(".content").style.display = "block"; 120 }); 121 122 const closeinput = accountChooser.querySelectorAll(".close-button .js-close");
123 closeinput.forEach((close) => { 124 close.addEventListener("click", () => { 125 console.log('close click'); 126 initAccountChooser(); 127 document.body.classList.remove("quiz-active"); 128 accountChooser.querySelector(".status-bar").classList.remove("active"); 129 accountChooser.querySelector(".content").style.display = "block"; 130 }); 131 }); 132 133 const proceedinput = accountChooser.querySelectorAll("label.cta-btn.proceed"); 134 proceedinput.forEach((proceed) => { 135 proceed.addEventListener("click", () => { 136 console.log('proceed click'); 137 accountChooser.querySelector('.js-next').click(); 138 }); 139 }); 140} 141 142function checkOpenAccountChooserHash() { 143 const hash = decodeURIComponent(window.location.hash || "").replace(/^#/, "").toLowerCase(); 144 if (hash === "open-account-chooser") { 145 const trigger = document.querySelector(".js-account-chooser"); 146 const chooser = document.querySelector(".account-chooser-block"); 147 if (trigger && chooser) { 148 trigger.click(); 149 chooser.scrollIntoView({ behavior: "smooth", block: "start" }); 150 } 151 } 152} 153 154if (document.readyState === "loading") { 155 document.addEventListener("DOMContentLoaded", checkOpenAccountChooserHash); 156} else { 157 checkOpenAccountChooserHash(); 158} 159 160window.addEventListener("hashchange", checkOpenAccountChooserHash);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.