{{ $wishlistCount }}
@php
$items = collect();
$cartCount = 0;
$cartTotal = 0;
if(auth()->check()) {
$cartModel = \App\Models\Cart::where('user_id', auth()->id())->first();
if($cartModel) {
$items = $cartModel->items()->with([
'product.images' => function ($query) {
$query->orderBy('sort_order', 'asc')->orderBy('id', 'asc');
},
'dish.photos',
])->get();
// Nombre d'articles distincts, pas la somme des quantités.
$cartCount = $items->filter(fn ($item) => $item->hasSellable())->count();
$cartConverter = app(\App\Services\CurrencyConverter::class);
$cartTotal = $items->sum(function ($item) use ($cartConverter) {
if (!$item->hasSellable()) {
return 0;
}
$price = $cartConverter->convert($item->unitPrice(), $item->currency(), display_currency());
// Les frais de livraison de la ligne (stockés en EUR)
// comptent une fois, pas par unité.
return $price * (int) $item->quantity
+ $cartConverter->convert($item->chargedShipping(), 'EUR', display_currency());
});
}
}
@endphp
{{ __('messages.my_cart') }}
{{ $cartCount }}