129 lines
3.2 KiB
PHP
129 lines
3.2 KiB
PHP
@extends('Shop.layout.layout', [
|
|
'title' => __('Panier'),
|
|
])
|
|
|
|
@section('content')
|
|
@if ($basket)
|
|
<div class="row m-0">
|
|
<div class="col-8">
|
|
<div class="row mb-3">
|
|
<div class="col-4">
|
|
<h1>Panier</h1>
|
|
</div>
|
|
<div class="col-8">
|
|
Livraison à domicile ...<br>
|
|
Commande en ligne et livraison par voie postale. Attention certains produits ne sont pas disponibles en livraison.
|
|
Les sachets disponibles en lignes sont disponibles à la livraison et uniquement quelques plants.
|
|
</div>
|
|
</div>
|
|
@foreach ($basket as $nature => $items)
|
|
<div class="row mb-3 p-2 bg-green-light">
|
|
<div class="col-12">
|
|
<h2 style="font-size: 1.6em;">{{ ucfirst($nature) }}</h2>
|
|
@foreach ($items as $item)
|
|
@include('Shop.Baskets.partials.article')
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
<div class="col-4">
|
|
@component('components.card', ['class' => 'shadow'])
|
|
<div class="row mb-3">
|
|
<div class="col-6 text-uppercase">
|
|
Tarif appliqué
|
|
</div>
|
|
<div class="col-6">
|
|
</div>
|
|
</div>
|
|
<div class="row m-3">
|
|
<div class="col-6">
|
|
<span id="basket-count"></span> ARTICLES
|
|
</div>
|
|
<div class="col-6 text-right">
|
|
<span id="basket-total"></span> €
|
|
</div>
|
|
</div>
|
|
<div class="row m-3">
|
|
<div class="col-6">
|
|
LIVRAISON
|
|
</div>
|
|
<div class="col-6 text-right">
|
|
<span id="shipping">5</span> €
|
|
</div>
|
|
</div>
|
|
<hr>
|
|
<div class="row m-3" style="font-size: 1.6em; font-weight: 600;">
|
|
<div class="col-6">
|
|
TOTAL TTC
|
|
</div>
|
|
<div class="col-6 text-right">
|
|
<span id="basket-total-shipped"></span> €
|
|
</div>
|
|
</div>
|
|
@endcomponent
|
|
</div>
|
|
</div>
|
|
@endif
|
|
@endsection
|
|
|
|
@push('js')
|
|
<script>
|
|
function handleBasket() {
|
|
calculateTotal();
|
|
|
|
$('.basket-quantity').change(function() {
|
|
calculatePrice($(this).parents('.basket-row'));
|
|
});
|
|
|
|
$('.basket-delete').click(function() {
|
|
var offer_id = $(this).data('id');
|
|
var data = {offer_id: offer_id, quantity: 0};
|
|
$.post("{{ route('Shop.Basket.addBasket') }}", data, function() {
|
|
$('#basket_offer-' + offer_id).remove();
|
|
calculateTotal();
|
|
});
|
|
});
|
|
}
|
|
|
|
function calculatePrice($that) {
|
|
var quantity = $that.find('.basket-quantity').val();
|
|
var price = $that.find('.basket-price').text();
|
|
var total_price = fixNumber(quantity * price);
|
|
$that.find('.basket-total-row').html(total_price);
|
|
calculateTotal();
|
|
return total_price;
|
|
}
|
|
|
|
function calculateTotal() {
|
|
countBasket();
|
|
var total = 0;
|
|
$('.basket-total-row').each(function() {
|
|
total += parseFloat($(this).text());
|
|
});
|
|
$('#basket-total').html(fixNumber(total));
|
|
calculateTotalShipped();
|
|
return total;
|
|
}
|
|
|
|
function countBasket() {
|
|
var count = 0;
|
|
$('.basket-quantity').each(function() {
|
|
count += parseInt($(this).val());
|
|
});
|
|
$('#basket-count').html(count);
|
|
return count;
|
|
}
|
|
|
|
function calculateTotalShipped() {
|
|
var total_shipped = parseFloat($('#basket-total').html()) + 5;
|
|
$('#basket-total-shipped').html(fixNumber(total_shipped));
|
|
}
|
|
|
|
function fixNumber(value) {
|
|
return parseFloat(value).toFixed(2);
|
|
}
|
|
|
|
handleBasket();
|
|
</script>
|
|
@endpush |