@extends('layouts.prestataire') @section('title', 'Réservations ventes urgentes') @push('styles') @endpush @section('content') @php $statusTabs = [ ['value' => 'all', 'label' => 'Toutes', 'count' => $stats['total'] ?? $reservations->total()], ['value' => 'pending', 'label' => 'En attente', 'count' => $stats['pending'] ?? 0], ['value' => 'confirmed', 'label' => 'Réservées', 'count' => $stats['confirmed'] ?? 0], ['value' => 'completed', 'label' => 'Vendues', 'count' => $stats['completed'] ?? 0], ['value' => 'cancelled', 'label' => 'Annulées', 'count' => $stats['cancelled'] ?? 0], ]; @endphp

Ventes urgentes

Réservations clients

Regroupez les demandes, confirmez le stock et finalisez vos ventes sans passer par plusieurs écrans.

Total {{ $stats['total'] ?? $reservations->total() }}
En attente {{ $stats['pending'] ?? 0 }}
Réservées {{ $stats['confirmed'] ?? 0 }}
Vendues {{ $stats['completed'] ?? 0 }}
Annulées {{ $stats['cancelled'] ?? 0 }}
@foreach($statusTabs as $tab) @php $query = $tab['value'] === 'all' ? [] : ['status' => $tab['value']]; $isActive = $status === $tab['value']; @endphp {{ $tab['label'] }} {{ $tab['count'] }} @endforeach
@if(session('success'))

Mise à jour enregistrée

{{ session('success') }}

@endif @if(session('error'))

Action impossible

{{ session('error') }}

@endif @if($reservations->isEmpty())

Aucune réservation pour l'instant

Les prochaines demandes client apparaîtront ici dès qu'une de vos annonces sera réservée.

@else
@foreach($reservations as $reservation) @php $statusStyles = match($reservation->status) { 'pending' => 'border-amber-200 bg-amber-50 text-amber-700', 'confirmed' => 'border-blue-200 bg-blue-50 text-blue-700', 'completed' => 'border-emerald-200 bg-emerald-50 text-emerald-700', 'cancelled' => 'border-rose-200 bg-rose-50 text-rose-700', default => 'border-slate-200 bg-slate-100 text-slate-700', }; $sale = $reservation->urgentSale; $client = $reservation->client; $saleTitle = \Illuminate\Support\Str::limit($sale->title ?? 'Annonce supprimée', 64); $saleUrl = $sale ? route('prestataire.urgent-sales.show', $sale) : '#'; $inventoryUrl = $sale ? route('prestataire.urgent-sales.inventory', $sale) : '#'; $messageUrl = $client ? route('messaging.show', $client) : '#'; $profileUrl = $client ? route('users.public.show', $client) : '#'; $quantity = (int) $reservation->quantity; $unitPrice = (float) ($sale->price ?? 0); $totalPrice = $quantity * $unitPrice; $availableQuantity = $sale->available_quantity ?? null; $clientName = $client->name ?? 'Client'; $clientInitial = strtoupper(\Illuminate\Support\Str::substr($clientName, 0, 1)); @endphp
{{ $reservation->status_label }} Reçue {{ $reservation->created_at->diffForHumans() }}
{{ $saleTitle }}

{{ $quantity }} article(s) demandé(s) • {{ number_format($totalPrice, 2, ',', ' ') }} € • {{ number_format($unitPrice, 2, ',', ' ') }} €/u

Net client

{{ number_format($totalPrice, 2, ',', ' ') }} €

Client

{{ $clientInitial }}

{{ $clientName }}

{{ $client->email ?? 'Email indisponible' }}

Suivi

{{ is_null($availableQuantity) ? 'Stock non précisé' : $availableQuantity . ' disponible(s)' }}

{{ $reservation->status === 'confirmed' ? 'Le stock est actuellement réservé pour ce client.' : 'Consultez le détail de l’annonce pour ajuster le stock si besoin.' }}

@if($reservation->message)
Message client: {{ $reservation->message }}
@endif @if($reservation->seller_notes)
Notes prestataire: {{ $reservation->seller_notes }}
@endif
Demande {{ $reservation->created_at->format('d/m/Y H:i') }} @if($reservation->confirmed_at) Confirmée {{ $reservation->confirmed_at->format('d/m/Y H:i') }} @endif @if($reservation->completed_at) Vendue {{ $reservation->completed_at->format('d/m/Y H:i') }} @endif @if($reservation->cancelled_at) Annulée {{ $reservation->cancelled_at->format('d/m/Y H:i') }} @endif
Contacter Voir annonce @if($reservation->status === 'pending')
@csrf
@csrf
@endif @if($reservation->status === 'confirmed')
@csrf
@csrf
@endif
@if($reservation->status === 'completed')

Évaluation du client

@if($reservation->client_rated_at)
@for($i = 1; $i <= 5; $i++) {{ $i <= $reservation->client_rating ? '★' : '☆' }} @endfor {{ $reservation->client_rating }}/5 @if($reservation->client_rating_comment) {{ $reservation->client_rating_comment }} @endif
@else
@csrf
@endif
@endif
@endforeach
@if($reservations->hasPages())
{{ $reservations->withQueryString()->links() }}
@endif @endif
@endsection @push('scripts') @endpush