41d334e8f6ee1184870aedfd3df38f0edd300be4b1292bf6f79076add8549827

Source Code:

let lvlCodes = ['IKIGAI2021', 'WARWICKUNI2021', 'SCB2021', 'SCBR2021', 'CBRE2021', 'CBREEMEA2021', 'DFF2021', 'CIGNA2021', 'PACIFIC2021', 'LVL2021', 'MOX2021', 'LUNNAXLVL', 'DOCKANDBAYXLVL', 'LETSWORKXLVL', '20X21CHALLENGE', '20X21CHALLENGE1', '20X21CHALLENGE2', '20X21CHALLENGE3', '20X21CHALLENGE4', 'ALLIE2021', 'STEVE2021', 'EUNSEONG2021', 'MELISSA2021', 'PAVLINA2021', 'JACQUI2021', 'MASTERJEDAI2021', 'UNCLESAM2021', 'ANGELHUBXLVL']
function createNewUser(createUser) {
  axios.post('/api/registrations', createUser, {
    headers: { 
      'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content
    }
  }).then(function (response) {
    let offerURL = `${new URL(location.href).origin}/orders/complete_order?o=${new URL(location.href).searchParams.get('o')}`;
    var leavePage = function(){ window.location = offerURL; }
    leavePage()
  }).catch(function(error) {
    console.log(error.data)
    console.log(error.message)
    console.log(error.response)
    
    document.querySelectorAll('.form-group').forEach(group => {
      if ($(group).find('input').lenght){
        if (!$(group).find('input').val()) {
          group.classList.add('error')
        }
      }
    })
    $('.form-group input').on('keyup', function(){
      $(this).removeClass('error')
    })
    if (error.response) {
      if (error.response.data) {
        if (error.response.data.email[0] === "has already been taken") {
          $('.email-custom-error').removeClass('hidden')
          $('#email').on('keyup', function(){
            $('.form-group-email').removeClass('error')
            $('.email-custom-error').hide()
          })
        }
      }
    }

    $('.form-group-email').addClass('error')
  })
}
function oldRegistrationFlowUpdate(){
  $(function() {
    
    $('.custom-form-registration').on('submit', function(e){
      e.preventDefault();
      
      let email = document.querySelector('#email').value;
      let password = document.querySelector('#password').value;
      let name = document.querySelector('#name').value;
      let code = document.querySelector('#code').value;
      let country = document.querySelector('#country').value;
      let check = document.querySelector('#check').value; 
      
      let createUser = {
        'form': {
          'email': email, 
          'password': password, 
          'name': name,
          'field_1': null,
          'field_2': country,
          'field_3': code,
          'terms_conditions': true
        }
      }
      
      console.log(createUser)
      
      if (lvlCodes.includes(code)) {
        createNewUser(createUser)
      } else {
        $('.form-group-code').addClass('error')
        $('.code-error').removeClass('hidden')
      }
      
      
    })
  })
}

let detectOldCheckout = () => {
  let layout = document.querySelector('.layout')
  if (layout) {
    if (!layout.classList.value.includes('visible')) {
      if (!location.href.includes('/orders/customer_info?o=48046')) {
        if (location.href.includes('/orders/customer_info')){
          location.href = '/orders/customer_info?o=48046'
        }
      }
    } else {
      layout.classList.add('visible')
    }
  }
  setTimeout(() => detectOldCheckout(), 500)
}

let detectLayoutNew = () => {
  let layout = document.querySelector('.layout')
  if (layout) {
    if (!layout.classList.value.includes('visible')) {
      if (location.href.includes('/orders/customer_info?o=48046')) {
        console.log('detect layout new registration')
        let markup = `
          <div class="root">
        		<p class="title">By invitation only</p>
        		<p class="description">Use your access code to activate your membership below.</p>
        		<div class="form">
        			<form class="custom-form-registration">
        			  <div class="form-group">
        					<input required type="text" name="name" id="name" placeholder="Name" />
        				</div>
        				<div class="form-group form-group-email">
        					<input type="email" name="email" id="email" placeholder="Enter your email" data-rule="email" data-msg="Please enter a valid email" required />
        				</div>
        				<p class="email-custom-error hidden">This email was already taken</p>
        				<div class="form-group">
        					<input required type="password" name="password" id="password" placeholder="Create a password" />
        				</div>
        				<div class="form-group">
        					<select id="country" name="country" required>
        						<option value="" disabled selected hidden>Country</option>
        						<option value="Afghanistan">Afghanistan</option>
                    <option value="Albania">Albania</option>
                    <option value="Algeria">Algeria</option>
                    <option value="Andorra">Andorra</option>
                    <option value="Angola">Angola</option>
                    <option value="Antigua and Barbuda">Antigua and Barbuda</option>
                    <option value="Argentina">Argentina</option>
                    <option value="Armenia">Armenia</option>
                    <option value="Australia">Australia</option>
                    <option value="Austria">Austria</option>
                    <option value="Azerbaijan">Azerbaijan</option>
                    <option value="Bahamas">Bahamas</option>
                    <option value="Bahrain">Bahrain</option>
                    <option value="Bangladesh">Bangladesh</option>
                    <option value="Barbados">Barbados</option>
                    <option value="Belarus">Belarus</option>
                    <option value="Belgium">Belgium</option>
                    <option value="Belize">Belize</option>
                    <option value="Benin">Benin</option>
                    <option value="Bhutan">Bhutan</option>
                    <option value="Bolivia">Bolivia</option>
                    <option value="Bosnia and Herzegovina">Bosnia and Herzegovina</option>
                    <option value="Botswana">Botswana</option>
                    <option value="Brazil">Brazil</option>
                    <option value="Brunei Darussalam">Brunei Darussalam</option>
                    <option value="Bulgaria">Bulgaria</option>
                    <option value="Burkina Faso">Burkina Faso</option>
                    <option value="Burundi">Burundi</option>
                    <option value="Cabo Verde">Cabo Verde</option>
                    <option value="Cambodia">Cambodia</option>
                    <option value="Cameroon">Cameroon</option>
                    <option value="Canada">Canada</option>
                    <option value="Central African Republic">Central African Republic</option>
                    <option value="Chad">Chad</option>
                    <option value="Chile">Chile</option>
                    <option value="China">China</option>
                    <option value="Colombia">Colombia</option>
                    <option value="Comoros">Comoros</option>
                    <option value="Congo">Congo</option>
                    <option value="Congo, Democratic Republic of the">Congo, Democratic Republic of the</option>
                    <option value="Costa Rica">Costa Rica</option>
                    <option value="Côte d'Ivoire">Côte d'Ivoire</option>
                    <option value="Croatia">Croatia</option>
                    <option value="Cuba">Cuba</option>
                    <option value="Cyprus">Cyprus</option>
                    <option value="Czechia">Czechia</option>
                    <option value="Denmark">Denmark</option>
                    <option value="Djibouti">Djibouti</option>
                    <option value="Dominica">Dominica</option>
                    <option value="Dominican Republic">Dominican Republic</option>
                    <option value="Ecuador">Ecuador</option>
                    <option value="Egypt">Egypt</option>
                    <option value="El Salvador">El Salvador</option>
                    <option value="Equatorial Guinea">Equatorial Guinea</option>
                    <option value="Eritrea">Eritrea</option>
                    <option value="Estonia">Estonia</option>
                    <option value="Eswatini">Eswatini</option>
                    <option value="Ethiopia">Ethiopia</option>
                    <option value="Fiji">Fiji</option>
                    <option value="Finland">Finland</option>
                    <option value="France">France</option>
                    <option value="Gabon">Gabon</option>
                    <option value="Gambia">Gambia</option>
                    <option value="Georgia">Georgia</option>
                    <option value="Germany">Germany</option>
                    <option value="Ghana">Ghana</option>
                    <option value="Greece">Greece</option>
                    <option value="Grenada">Grenada</option>
                    <option value="Guatemala">Guatemala</option>
                    <option value="Guinea">Guinea</option>
                    <option value="Guinea-Bissau">Guinea-Bissau</option>
                    <option value="Guyana">Guyana</option>
                    <option value="Haiti">Haiti</option>
                    <option value="Honduras">Honduras</option>
                    <option value="Hong Kong">Hong Kong</option>
                    <option value="Hungary">Hungary</option>
                    <option value="Iceland">Iceland</option>
                    <option value="India">India</option>
                    <option value="Indonesia">Indonesia</option>
                    <option value="Iran">Iran</option>
                    <option value="Iraq">Iraq</option>
                    <option value="Ireland">Ireland</option>
                    <option value="Israel">Israel</option>
                    <option value="Italy">Italy</option>
                    <option value="Jamaica">Jamaica</option>
                    <option value="Japan">Japan</option>
                    <option value="Jordan">Jordan</option>
                    <option value="Kazakhstan">Kazakhstan</option>
                    <option value="Kenya">Kenya</option>
                    <option value="Kiribati">Kiribati</option>
                    <option value="South Korea">South Korea</option>
                    <option value="Kuwait">Kuwait</option>
                    <option value="Kyrgyzstan">Kyrgyzstan</option>
                    <option value="Lao">Lao</option>
                    <option value="Latvia">Latvia</option>
                    <option value="Lebanon">Lebanon</option>
                    <option value="Lesotho">Lesotho</option>
                    <option value="Liberia">Liberia</option>
                    <option value="Libya">Libya</option>
                    <option value="Liechtenstein">Liechtenstein</option>
                    <option value="Lithuania">Lithuania</option>
                    <option value="Luxembourg">Luxembourg</option>
                    <option value="Madagascar">Madagascar</option>
                    <option value="Malawi">Malawi</option>
                    <option value="Malaysia">Malaysia</option>
                    <option value="Maldives">Maldives</option>
                    <option value="Mali">Mali</option>
                    <option value="Malta">Malta</option>
                    <option value="Marshall Islands">Marshall Islands</option>
                    <option value="Mauritania">Mauritania</option>
                    <option value="Mauritius">Mauritius</option>
                    <option value="Mexico">Mexico</option>
                    <option value="Micronesia">Micronesia</option>
                    <option value="Moldova">Moldova</option>
                    <option value="Monaco">Monaco</option>
                    <option value="Mongolia">Mongolia</option>
                    <option value="Montenegro">Montenegro</option>
                    <option value="Morocco">Morocco</option>
                    <option value="Mozambique">Mozambique</option>
                    <option value="Myanmar">Myanmar</option>
                    <option value="Namibia">Namibia</option>
                    <option value="Nauru">Nauru</option>
                    <option value="Nepal">Nepal</option>
                    <option value="Netherlands">Netherlands</option>
                    <option value="New Zealand">New Zealand</option>
                    <option value="Nicaragua">Nicaragua</option>
                    <option value="Niger">Niger</option>
                    <option value="Nigeria">Nigeria</option>
                    <option value="North Macedonia">North Macedonia</option>
                    <option value="Norway">Norway</option>
                    <option value="Oman">Oman</option>
                    <option value="Pakistan">Pakistan</option>
                    <option value="Palau">Palau</option>
                    <option value="Panama">Panama</option>
                    <option value="Papua New Guinea">Papua New Guinea</option>
                    <option value="Paraguay">Paraguay</option>
                    <option value="Peru">Peru</option>
                    <option value="Philippines">Philippines</option>
                    <option value="Poland">Poland</option>
                    <option value="Portugal">Portugal</option>
                    <option value="Qatar">Qatar</option>
                    <option value="Romania">Romania</option>
                    <option value="Russian Federation">Russian Federation</option>
                    <option value="Rwanda">Rwanda</option>
                    <option value="Saint Kitts and Nevis">Saint Kitts and Nevis</option>
                    <option value="Saint Lucia">Saint Lucia</option>
                    <option value="Saint Vincent and the Grenadines">Saint Vincent and the Grenadines</option>
                    <option value="Samoa">Samoa</option>
                    <option value="San Marino">San Marino</option>
                    <option value="Sao Tome and Principe">Sao Tome and Principe</option>
                    <option value="Saudi Arabia">Saudi Arabia</option>
                    <option value="Senegal">Senegal</option>
                    <option value="Serbia">Serbia</option>
                    <option value="Seychelles">Seychelles</option>
                    <option value="Sierra Leone">Sierra Leone</option>
                    <option value="Singapore">Singapore</option>
                    <option value="Slovakia">Slovakia</option>
                    <option value="Slovenia">Slovenia</option>
                    <option value="Solomon Islands">Solomon Islands</option>
                    <option value="Somalia">Somalia</option>
                    <option value="South Africa">South Africa</option>
                    <option value="South Sudan">South Sudan</option>
                    <option value="Spain">Spain</option>
                    <option value="Sri Lanka">Sri Lanka</option>
                    <option value="Sudan">Sudan</option>
                    <option value="Suriname">Suriname</option>
                    <option value="Sweden">Sweden</option>
                    <option value="Switzerland">Switzerland</option>
                    <option value="Syria">Syria</option>
                    <option value="Tajikistan">Tajikistan</option>
                    <option value="Tanzania">Tanzania</option>
                    <option value="Thailand">Thailand</option>
                    <option value="Timor-Leste">Timor-Leste</option>
                    <option value="Togo">Togo</option>
                    <option value="Tonga">Tonga</option>
                    <option value="Trinidad and Tobago">Trinidad and Tobago</option>
                    <option value="Tunisia">Tunisia</option>
                    <option value="Turkey">Turkey</option>
                    <option value="Turkmenistan">Turkmenistan</option>
                    <option value="Tuvalu">Tuvalu</option>
                    <option value="Uganda">Uganda</option>
                    <option value="Ukraine">Ukraine</option>
                    <option value="United Arab Emirates">United Arab Emirates</option>
                    <option value="United Kingdom">United Kingdom</option>
                    <option value="United States of America">United States of America</option>
                    <option value="Uruguay">Uruguay</option>
                    <option value="Uzbekistan">Uzbekistan</option>
                    <option value="Vanuatu">Vanuatu</option>
                    <option value="Venezuela">Venezuela</option>
                    <option value="Viet Nam">Viet Nam</option>
                    <option value="Yemen">Yemen</option>
                    <option value="Zambia">Zambia</option>
                    <option value="Zimbabwe">Zimbabwe</option>
        					</select>
        				</div>
        				<div class="form-group form-group-code">
        					<input required type="text" name="code" id="code" placeholder="Enter your access code" />
        				</div>
        				<p class="code-error hidden">Your code doesn't look quite right, double-check your code to make sure it's correct'</p>
        				<div class="checkPanel">
        					<input required type="checkbox" class="checkbox" name="check" id="check">
        					<label for="check">
        						By continuing, you agree to LVL’s
        						<a class="blueLink" href="#">
        							Terms & Conditions
        						</a>
        						and have read the
        						<a class="blueLink" href="#">
        							Privacy Policy
        						</a>
        					<label>
        				</div>
        				<div class="text-left">
        					<button type="submit">Register</button>
        					
        				</div>
        				<p class="login-link">Already have an account? <a href="/sign_in"> Log in </a></p>
        			</form>
        		</div>
        	<div>
        `
        $(layout).html(markup)
        layout.classList.add('visible','customer_info')
        oldRegistrationFlowUpdate()
      } else {
        layout.classList.add('visible')
      }
    }
  }
  setTimeout(() => detectLayoutNew(), 500)
}

detectOldCheckout()
detectLayoutNew()