From ac51fea98011aa1df17e475dec4617e0ce127b91 Mon Sep 17 00:00:00 2001 From: Gustavo Luigi <=> Date: Wed, 9 Aug 2023 12:45:30 -0300 Subject: [PATCH] . --- content/pages/checkout.blade.php | 22 ++++----- js/checkout.js | 76 ++++++++++++++++---------------- js/methods.js | 1 + 3 files changed, 51 insertions(+), 48 deletions(-) diff --git a/content/pages/checkout.blade.php b/content/pages/checkout.blade.php index da65952..4346c48 100644 --- a/content/pages/checkout.blade.php +++ b/content/pages/checkout.blade.php @@ -1,7 +1,7 @@ @extends('template.'.config('settings.template').'.content.master') @section('head') Checkout - Blau Solar - + @stop @section('content')
@@ -33,15 +33,15 @@
+ Calendly.initInlineWidget({ + url: 'https://calendly.com/areya/beratung-solar?hide_gdpr_banner=1', + prefill: { + name: "{{session()->get('entry')['vorname']}} {{session()->get('entry')['nachname']}}", + email: "{{session()->get('entry')['email']}}", + location: "4916098200321" + } + }); +


@@ -243,6 +243,6 @@ @stop @section('scripts') - + @stop diff --git a/js/checkout.js b/js/checkout.js index d27f6e5..a35c99b 100644 --- a/js/checkout.js +++ b/js/checkout.js @@ -6,45 +6,47 @@ function clearAddressFields() { $('#locality').val(''); $('#postal-code').val(''); } -function getAddressFiedlValue(addressComponents, $field){ +function getAddressFiedlValue(addressComponents, $field) { let field = addressComponents.find(obj => obj.types.indexOf($field) > -1); - return field != undefined?field.long_name:''; + return field != undefined ? field.long_name : ''; } +urlBase = $('meta[name="url-base"]').attr("content"); + let input = document.querySelector("#ctelefon"); let iti = null; -if(input != undefined){ +if (input != undefined) { iti = window.intlTelInput(input, { initialCountry: "de", preferredCountries: ["de"], - geoIpLookup: function(callback) { - $.get('https://ipinfo.io', function() {}, "jsonp").always(function(resp) { - let countryCode = (resp && resp.country)?resp.country:"us"; + geoIpLookup: function (callback) { + $.get('https://ipinfo.io', function () { }, "jsonp").always(function (resp) { + let countryCode = (resp && resp.country) ? resp.country : "us"; callback(countryCode); }); }, - utilsScript: "/template/assets/libs/intl-tel-input/js/utils.min.js", + utilsScript: urlBase + "/template/libs/intl-tel-input/js/utils.min.js", }); } -function updateProducts(){ +function updateProducts() { $('#list-products').html(''); - if(objProducts.length > 0){ - getInfoFromSelectedProduct().done(function(response, status){ - response.contents.forEach(function(product){ + if (objProducts.length > 0) { + getInfoFromSelectedProduct().done(function (response, status) { + response.contents.forEach(function (product) { let objProduct = getProductInfo(product); let elementProduct = createProductElement(objProduct); $('#list-products').append(elementProduct); }); - if(totalPrice > 0){ + if (totalPrice > 0) { $('#total-checkout-price').text(numberToEuroFormat(totalPrice)); - }else{ + } else { $('#form-section').hide(); $('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide(); $('#total-checkout-price').parent().parent().parent().hide(); $('#no-products-in-checkout').hide(); $('#cart-error-in-checkout').show(); } - }).fail(function(response){ + }).fail(function (response) { $('#form-section').hide(); $('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide(); $('#total-checkout-price').parent().parent().parent().hide(); @@ -57,7 +59,7 @@ function updateProducts(){ $('#no-products-in-checkout').hide(); $('#cart-error-in-checkout').hide(); } - else{ + else { $('#form-section').hide(); $('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide(); $('#total-checkout-price').parent().parent().parent().hide(); @@ -66,19 +68,19 @@ function updateProducts(){ } } -$(window).on('load', function(){ +$(window).on('load', function () { updateProducts(); - $("#successful-submitting-form").delay(4000).slideUp(200, function() { $(this).alert('close'); }); - $('#anfrage').submit(function(event){ + $("#successful-submitting-form").delay(4000).slideUp(200, function () { $(this).alert('close'); }); + $('#anfrage').submit(function (event) { event.preventDefault(); let form = $(this); - getInfoFromSelectedProduct().done(function(response, status){ + getInfoFromSelectedProduct().done(function (response, status) { let products = response.contents.map(product => { product = getProductInfo(product); product = calculatePrice(product); - return product.quantity+'x '+product.title+' ('+numberToEuroFormat(product.calc_preis)+')'; + return product.quantity + 'x ' + product.title + ' (' + numberToEuroFormat(product.calc_preis) + ')'; }); - let cart = products.join(" - ")+" - Gesammt: "+numberToEuroFormat(totalPrice); + let cart = products.join(" - ") + " - Gesammt: " + numberToEuroFormat(totalPrice); $('#ccart').val(cart); $('#ctelefon').val(iti.getNumber()); objProducts = []; @@ -86,33 +88,33 @@ $(window).on('load', function(){ form.unbind('submit').submit(); }); }); - $(document).on('click', '.btn-remove-product', function(){ - if(objProducts.length > 0){ + $(document).on('click', '.btn-remove-product', function () { + if (objProducts.length > 0) { $('#form-section').show(); $('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').show(); $('#total-checkout-price').parent().parent().parent().show(); $('#no-products-in-checkout').hide(); - }else{ + } else { $('#form-section').hide(); $('#list-products').parent().parent().parent().parent().parent().find('.modal-footer').hide(); $('#total-checkout-price').parent().parent().parent().hide(); $('#no-products-in-checkout').show(); } }); - $(document).on('input', '.select-quantity', function(){ - getInfoFromSelectedProduct().done(function(response, status){ + $(document).on('input', '.select-quantity', function () { + getInfoFromSelectedProduct().done(function (response, status) { totalPrice = 0; - response.contents.forEach(function(product){ + response.contents.forEach(function (product) { let objProduct = getProductInfo(product); objProduct = calculatePrice(objProduct); - totalPrice += objProduct.calc_preis*objProduct.quantity; + totalPrice += objProduct.calc_preis * objProduct.quantity; }); $('#total-checkout-price').text(numberToEuroFormat(totalPrice)); }); }); }); -$(window).on('load', google.maps.event, function(){ +$(window).on('load', google.maps.event, function () { let input = document.getElementById('field_location'); let options = { types: ['address'], @@ -126,16 +128,16 @@ $(window).on('load', google.maps.event, function(){ var componentMap = { country: 'country', locality: 'locality', - administrative_area_level_1 : 'administrative_area_level_1', - administrative_area_level_2 : 'administrative_area_level_2', + administrative_area_level_1: 'administrative_area_level_1', + administrative_area_level_2: 'administrative_area_level_2', postal_code: 'postal_code', route: 'route', - street_number : 'street_number', + street_number: 'street_number', }; $('#address-components').show(); let addressComponents = autocomplete.getPlace().address_components; let streetNumber = getAddressFiedlValue(addressComponents, 'street_number'); - if(streetNumber == '') { + if (streetNumber == '') { $('#street-number').prop('disabled', false); $('#street-number').focus(); } @@ -150,11 +152,11 @@ $(window).on('load', google.maps.event, function(){ $('#locality').val(locality); let postalCode = getAddressFiedlValue(addressComponents, 'postal_code'); $('#postal-code').val(postalCode); - $('#street-number').blur(function(){ - if($('#street-number').val() == '') $('#street-number').focus(); - else{ + $('#street-number').blur(function () { + if ($('#street-number').val() == '') $('#street-number').focus(); + else { $('#street-number').prop('disabled', true); - $('#field_location').val(route+' '+$('#street-number').val()+', '+locality+', '+country); + $('#field_location').val(route + ' ' + $('#street-number').val() + ', ' + locality + ', ' + country); } }); }); diff --git a/js/methods.js b/js/methods.js index 2e7e2de..4366876 100644 --- a/js/methods.js +++ b/js/methods.js @@ -29,6 +29,7 @@ function calculatePrice(objProduct) { } function createProductElement(objProduct) { + if (!objProduct.image) objProduct.image = ""; calculatePrice(objProduct); let elementProduct = `