@php use Illuminate\Support\Str; @endphp

Notre Boutique

{{ $allUrgentSales->count() }} articles disponibles

{{ $allUrgentSales->count() }} annonce{{ $allUrgentSales->count() > 1 ? 's' : '' }}
Affinez la boutique par recherche, prix, état ou disponibilité.
@auth
{{ $cartItemCount }} Voir le panier
@endauth
@foreach($allUrgentSales as $sale) @php $availableQty = ($sale->quantity ?? 1) - ($sale->reserved_quantity ?? 0) - ($sale->sold_quantity ?? 0); $stockState = $availableQty <= 0 ? 'out' : ($availableQty <= 3 ? 'low' : 'in'); $saleCategoryName = $sale->category?->name; $saleSearch = mb_strtolower(trim( $sale->title . ' ' . strip_tags($sale->description ?? '') . ' ' . ($saleCategoryName ?? '') . ' ' . ($sale->condition ?? '') )); $sellerId = (int) ($sale->prestataire?->user_id ?? 0); $isOwnSale = auth()->check() ? ((int) auth()->id() === $sellerId) : false; $hasOnlinePayment = (function_exists('normalize_payment_requirement_for_mode') ? normalize_payment_requirement_for_mode($sale->payment_requirement ?? 'none') : ($sale->payment_requirement ?? 'none')) === 'full'; $hasStripeConnect = !empty($sale->prestataire?->stripe_account_id); $canAddToCart = auth()->check() && !$isOwnSale && $hasOnlinePayment && $hasStripeConnect && \Illuminate\Support\Facades\Route::has('client.cart.add.urgent-sale'); @endphp
@if($sale->photos && count($sale->photos) > 0) @php $firstPhoto = $sale->photos[0]; @endphp @if(filter_var($firstPhoto, FILTER_VALIDATE_URL)) {{ $sale->title }} @else @endif @else
@endif @if($availableQty <= 3 && $availableQty > 0) Plus que {{ $availableQty }} ! @elseif($availableQty <= 0) Épuisé @endif

{{ $sale->title }}

{{ Str::limit($sale->description, 60) }}

@if($saleCategoryName || $sale->condition || $availableQty >= 0)
@if($saleCategoryName) {{ $saleCategoryName }} @endif @if($sale->condition) {{ \App\Models\UrgentSale::CONDITION_OPTIONS[$sale->condition] ?? ucfirst($sale->condition) }} @endif {{ $availableQty > 0 ? $availableQty . ' dispo' : 'Épuisé' }}
@endif
{{ number_format($sale->price, 2, ',', ' ') }} €
@if($availableQty > 0) @auth @if($canAddToCart)
@csrf
@elseif($isOwnSale) Votre annonce @else {{ $hasOnlinePayment ? 'Contacter' : 'Réserver' }} @endif @else Connexion @endauth @else Épuisé @endif
@endforeach