The repo for Purrform's main BigCommerce store.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

dev: friend referral + disable buttons

+36 -8
+5
assets/scss/custom/components/_accountsReward.scss
··· 22 22 width: 100%; 23 23 } 24 24 } 25 + .disabled { 26 + background-color: #666666 !important; 27 + opacity: 0.4; 28 + pointer-events: none; 29 + } 25 30 input, 26 31 select { 27 32 height: 48px;
+31 -8
templates/pages/account/inbox.html
··· 68 68 </div> 69 69 </div> 70 70 </div> 71 + {{/if}} 72 + {{#if customer_group_name '===' 'Testing Group'}} 71 73 <div id="friend-referral" class="reward-section"> 72 74 <h2>Refer a friend</h2> 73 75 <p>Refer a friend and both of you will receive a 5% discount code.</p> ··· 105 107 <script> 106 108 const jsContext = JSON.parse({{jsContext}}); 107 109 const breederReferralForm = document.querySelector('#breeder-referral-form') 110 + const breederRerferralButton = document.querySelector('#breeder-referral-form .button-primary') 108 111 const breederReferralInput = document.querySelector('#reward-breeder-refer-email') 109 112 const breederEmail = jsContext.breederEmail 110 113 const errorMsg = document.querySelector('#breederError') 111 114 // errorMsg.textContent = ""; 112 115 breederReferralForm.addEventListener('submit', (e) => { 113 116 e.preventDefault(); 117 + e.submitter.classList.add('disabled') 114 118 // console.log(breederReferralInput.value) 115 119 // https://purrform-apps-027e.onrender.com/breederReferralForm?breederEmail=${breederEmail}&customerEmail=${breederReferralInput.value} 116 120 // https://4722-188-214-15-243.ngrok-free.app/breederReferralForm?breederEmail=${breederEmail}&customerEmail=${breederReferralInput.value} ··· 123 127 .then((response) => { 124 128 if (!response.ok) { 125 129 if (response.status == 401) { 126 - errorMsg.textContent = "Error: This email has already been referred."; 127 - return 130 + if (breederReferralInput.value.trim() !== "") { 131 + errorMsg.textContent = "Error: This email has already been referred."; 132 + } else { 133 + errorMsg.textContent = "Error: Field is empty"; 134 + } 135 + errorMsg.style.color = "red"; 128 136 } else if (response.status == 402) { 129 137 errorMsg.textContent = "Error: Your referral was created, however we couldn't deliver the email to the customer."; 130 - return 138 + errorMsg.style.color = "red"; 131 139 } else { 132 140 errorMsg.textContent = "Error: Something went wrong when creating the referral." 133 - return 141 + errorMsg.style.color = "red"; 134 142 } 135 143 } else { 136 144 errorMsg.textContent = "Referral succesful"; 137 145 breederReferralInput.value = ""; 146 + errorMsg.style.color = "initial"; 138 147 } 148 + setTimeout(function() { 149 + e.submitter.classList.remove('disabled') 150 + }, 750); 139 151 }) 140 152 .catch(err => { 141 153 errorMsg.textContent = err.message 142 154 console.log("Error on referral") 155 + setTimeout(function() { 156 + e.submitter.classList.remove('disabled') 157 + }, 750); 143 158 }) 144 159 }) 145 160 </script> 146 161 {{/if}} 147 - {{#if customer_group_name '===' 'Personal'}} 162 + {{#if customer_group_name '===' 'Testing Group'}} 148 163 {{inject "friendEmail" customer.email}} 149 164 <script> 150 165 const friendJsContext = JSON.parse({{jsContext}}); ··· 155 170 // errorMsg.textContent = ""; 156 171 friendReferralForm.addEventListener('submit', (e) => { 157 172 e.preventDefault(); 173 + e.submitter.classList.add('disabled') 158 174 // console.log(friendReferralInput.value) 159 175 // https://purrform-apps-027e.onrender.com/friendReferralForm?friendEmail=${friendEmail}&customerEmail=${friendReferralInput.value} 160 176 // https://4722-188-214-15-243.ngrok-free.app/friendReferralForm?friendEmail=${friendEmail}&customerEmail=${friendReferralInput.value} ··· 168 184 if (!response.ok) { 169 185 if (response.status == 401) { 170 186 friendErrorMsg.textContent = "Error: This email has already been referred."; 171 - return 187 + friendErrorMsg.style.color = "red"; 172 188 } else if (response.status == 402) { 173 189 friendErrorMsg.textContent = "Error: Your referral was created, however we couldn't deliver the email to the customer."; 174 - return 190 + friendErrorMsg.style.color = "red"; 175 191 } else { 176 192 friendErrorMsg.textContent = "Error: Something went wrong when creating the referral." 177 - return 193 + friendErrorMsg.style.color = "red"; 178 194 } 179 195 } else { 180 196 friendErrorMsg.textContent = "Referral succesful"; 181 197 friendReferralInput.value = ""; 198 + friendErrorMsg.style.color = "initial"; 182 199 } 200 + setTimeout(function() { 201 + e.submitter.classList.remove('disabled') 202 + }, 750); 183 203 }) 184 204 .catch(err => { 185 205 friendErrorMsg.textContent = err.message 186 206 console.log("Error on referral") 207 + setTimeout(function() { 208 + e.submitter.classList.remove('disabled') 209 + }, 750); 187 210 }) 188 211 }) 189 212 </script>