Merge branch 'master' of code.areya.de:Areya/areya-energy
commit
7aba06cc51
|
@ -1,6 +1,7 @@
|
|||
<!doctype html>
|
||||
<html lang="{{str_replace('_', '-', app()->getLocale())}}">
|
||||
<head>
|
||||
<meta name="checkout" content="{{url('/checkout')}}">
|
||||
<meta name="get-contents" content="{{url('/contents/all')}}">
|
||||
@insert("content.includes.meta")
|
||||
@insert("content.includes.css")
|
||||
|
@ -115,6 +116,38 @@
|
|||
<button type="button" class="btn-close" id="btn-close-message" data-bs-dismiss="alert" aria-label="Close"></button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade bd-example-modal-sm" id="modal-confirm-addition-of-products" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-sm">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Você gostaria de colocar os produtos do link no carrinho?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary btn-confirm-product-link" data-bs-dismiss="modal">Ja</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Nein</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal fade bd-example-modal-sm" id="modal-confirm-product-replacement" tabindex="-1" role="dialog" aria-labelledby="mySmallModalLabel" aria-hidden="true">
|
||||
<div class="modal-dialog modal-sm">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<p>Você possui produtos no carrinho, deseja descartar e colocar os produtos do link no carrinho?</p>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-primary btn-confirm-product-link" data-bs-dismiss="modal">Ja</button>
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Nein</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@yield('content')
|
||||
@insert("content.includes.footer")
|
||||
@insert("content.includes.scripts")
|
||||
|
@ -129,6 +162,7 @@
|
|||
for(let i = 0; i < quantitys.length; i++) { quantityOfProducts += Number(quantitys[i]); }
|
||||
$('#count-products-in-bag').text(quantityOfProducts);
|
||||
$('#list-products-in-bag').html('');
|
||||
if(typeof updateProducts === "function") $('#list-products').html('');
|
||||
totalPrice = 0;
|
||||
if(objProducts.length > 0) {
|
||||
let ids = objProducts.map(obj => obj.id);
|
||||
|
@ -158,18 +192,32 @@
|
|||
<td class="align-middle text-end">${formatter.format(item.data_fields.preis)}</td>
|
||||
</tr>`;
|
||||
$('#list-products-in-bag').append(elementProduct);
|
||||
if(typeof updateProducts === "function") $('#list-products').append(elementProduct);
|
||||
});
|
||||
$('#total-price').text(formatter.format(totalPrice));
|
||||
if(typeof updateProducts === "function") $('#total-checkout-price').text(formatter.format(totalPrice));
|
||||
});
|
||||
$('#count-products-in-bag').show();
|
||||
$('#list-products-in-bag').parent().parent().parent().parent().parent().find('.modal-footer').show();
|
||||
$('#total-price').parent().parent().parent().show();
|
||||
$('#no-products').hide();
|
||||
if(typeof updateProducts === "function"){
|
||||
$('#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 {
|
||||
$('#count-products-in-bag').hide();
|
||||
$('#list-products-in-bag').parent().parent().parent().parent().parent().find('.modal-footer').hide();
|
||||
$('#total-price').parent().parent().parent().hide();
|
||||
$('#no-products').show();
|
||||
if(typeof updateProducts === "function"){
|
||||
$('#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();
|
||||
}
|
||||
}
|
||||
$('#total-price').text(formatter.format(totalPrice));
|
||||
let productId = $('meta[name="product-id"]').attr('content');
|
||||
|
@ -195,11 +243,29 @@
|
|||
if(index == -1) objProducts.push({id: productId, quantity: 1});
|
||||
updateProductsInLocalStorage();
|
||||
}
|
||||
function isJson(str) {
|
||||
try { JSON.parse(str); }
|
||||
catch (e) { return false; }
|
||||
return true;
|
||||
}
|
||||
$(window).on('load', function(){
|
||||
if(localStorage.getItem("dismiss-message") == 1) $('.alert-dismissible').remove();
|
||||
else $('.alert-dismissible').show();
|
||||
$('#btn-close-message').click(function(){ localStorage.setItem("dismiss-message", 1); });
|
||||
if(localStorage.getItem("products") != null) objProducts = JSON.parse(localStorage.getItem("products"));
|
||||
let urlPath = window.location.pathname;
|
||||
let code = urlPath.split("/");
|
||||
code = code[code.length-1];
|
||||
let productLink = atob(code);
|
||||
if(isJson(productLink)){
|
||||
if(objProducts.length > 0) $('#modal-confirm-product-replacement').modal('show');
|
||||
else $('#modal-confirm-addition-of-products').modal('show');
|
||||
}
|
||||
$('.btn-confirm-product-link').click(function(){
|
||||
objProducts = JSON.parse(productLink);
|
||||
updateProductsInLocalStorage();
|
||||
window.location.replace($('meta[name="checkout"]').attr('content'));
|
||||
});
|
||||
updateProductsInLocalStorage();
|
||||
$(document).on('click', '.btn-remove-product', function(){
|
||||
let productId = $(this).attr('data-id');
|
||||
|
|
|
@ -300,58 +300,13 @@
|
|||
utilsScript: "{{storage('assets/libs/intl-tel-input/js/utils.min.js')}}",
|
||||
});
|
||||
|
||||
function updateProducts(){
|
||||
$('#list-products').html('');
|
||||
if(objProducts.length > 0) {
|
||||
let ids = objProducts.map(obj => obj.id);
|
||||
$.get($('meta[name="get-contents"]').attr('content')+"/"+ids.join(","), function(response, status){
|
||||
response.contents.forEach(function(item){
|
||||
let objProductInfo = objProducts.find(obj => obj.id == item.id);
|
||||
let elementProduct = `
|
||||
<tr>
|
||||
<td class="text-start">
|
||||
<img class="rounded img-fluid" src="https://picsum.photos/120/120">
|
||||
</td>
|
||||
<td class="text-start">
|
||||
<span class="fs-5">${item.title}</span>
|
||||
<br>
|
||||
<small class="text-success">sofort verfügbar</small>
|
||||
<br>
|
||||
<select class="form-select form-select-sm select-quantity" data-id="${item.id}" style="width:125px;" aria-label="Default select example">`;
|
||||
for(let i = 1; i <= 5; i++){
|
||||
if(objProductInfo.quantity == i) elementProduct += `<option selected value="${i}">Anzahl: ${i}</option>`;
|
||||
else elementProduct += `<option value="${i}">Anzahl: ${i}</option>`;
|
||||
}
|
||||
elementProduct += `
|
||||
</select>
|
||||
<button data-id="${item.id}" class="btn-remove-product text-muted small text-decoration-none" style="padding: 0; border: none; background: transparen;">Löschen</button>
|
||||
</td>
|
||||
<td class="align-middle text-end">${formatter.format(item.data_fields.preis)}</td>
|
||||
</tr>`;
|
||||
$('#list-products').append(elementProduct);
|
||||
});
|
||||
$('#total-checkout-price').text(formatter.format(totalPrice));
|
||||
});
|
||||
$('#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 {
|
||||
$('#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();
|
||||
}
|
||||
}
|
||||
function updateProducts(){}
|
||||
|
||||
$(window).on('load', function(){
|
||||
updateProducts();
|
||||
$('#anfrage').submit(function(){
|
||||
objProducts = [];
|
||||
updateProductsInLocalStorage();
|
||||
});
|
||||
$(document).on('click', '.btn-remove-product', function(){ updateProducts(); });
|
||||
$(document).on('change', '.select-quantity', function(){ updateProducts(); });
|
||||
});
|
||||
</script>
|
||||
@stop
|
||||
|
|
Loading…
Reference in New Issue