@extends('layouts.admin-modern') @section('title', 'Détails du prestataire') @section('content')
@if (session('success')) @endif

Identité du Prestataire

@if($prestataire->photo) Photo de {{ $prestataire->user->name }} @elseif($prestataire->user->avatar) Photo de {{ $prestataire->user->name }} @elseif($prestataire->user->profile_photo_url) Photo de {{ $prestataire->user->name }} @else
{{ substr($prestataire->user->name, 0, 1) }}
@endif @if($prestataire->isVerified())
@endif

{{ $prestataire->user->name }}

@if($prestataire->isVerified()) Vérifié @endif

{{ $prestataire->user->email }}

@if($prestataire->user->blocked_at) Bloqué @elseif($prestataire->is_approved) Approuvé @else En attente @endif
Date d'inscription
{{ $prestataire->created_at->format('d/m/Y') }}
Dernière mise à jour
{{ $prestataire->updated_at->format('d/m/Y H:i') }}
Retour Profil public @if(!$prestataire->is_approved)
@csrf
@endif
@csrf @method('PATCH')

Présentation

{{ $prestataire->description ?? 'Aucune présentation fournie.' }}

Services ({{ $prestataire->services ? $prestataire->services->count() : 0 }})

@if($prestataire->services && $prestataire->services->count() > 0)
@foreach($prestataire->services->take(5) as $service)

{{ $service->title }}

{{ Str::limit($service->description, 100) }}

Créé le {{ $service->created_at->format('d/m/Y') }}
{{ number_format($service->price, 2) }} €
@endforeach
@if($prestataire->services->count() > 5) @endif @else
Aucun service proposé
@endif

Avis Clients ({{ $prestataire->reviews ? $prestataire->reviews->count() : 0 }})

@if($prestataire->reviews && $prestataire->reviews->count() > 0)
@foreach($prestataire->reviews->take(5) as $review)

{{ $review->client_name }}

@for($i = 1; $i <= 5; $i++) @if($i <= $review->rating) @else @endif @endfor ({{ $review->rating }}/5)

{{ Str::limit($review->comment, 120) }}

{{ $review->created_at->format('d/m/Y') }}
@endforeach
@if($prestataire->reviews->count() > 5) @endif @else
Aucun avis reçu
@endif

Finances & Revenus

{{ number_format($stats['total_revenue'] ?? 0, 2) }} €
Revenus totaux
{{ number_format($stats['revenue_this_month'] ?? 0, 2) }} €
Ce mois-ci
{{ number_format($balance ?? 0, 2) }} €
Solde disponible
{{ $stats['total_bookings'] ?? 0 }}
Total commandes
{{ $stats['completed_bookings'] ?? 0 }}
Terminées
{{ $stats['pending_bookings'] ?? 0 }}
En cours
{{ ($stats['total_bookings'] ?? 0) > 0 ? round((($stats['completed_bookings'] ?? 0) / ($stats['total_bookings'] ?? 1)) * 100) : 0 }}%
Taux de complétion

Abonnement

@if(isset($subscription) && $subscription)

{{ $subscription->plan->name ?? 'Plan Premium' }}

Actif

{{ number_format($subscription->current_amount ?? 0, 2) }} € /mois
Expire le {{ $subscription->ends_at ? $subscription->ends_at->format('d/m/Y') : 'N/A' }}
@else

Aucun abonnement actif

Ce prestataire n'a pas d'abonnement premium

@endif

Équipements ({{ isset($equipments) ? $equipments->count() : 0 }})

@if(isset($equipments) && $equipments->count() > 0)
@foreach($equipments->take(6) as $equipment)
@if($equipment->image) {{ $equipment->name }} @else
@endif

{{ $equipment->name }}

{{ number_format($equipment->price ?? 0, 2) }} €/jour

{{ $equipment->status === 'available' ? 'Disponible' : ucfirst($equipment->status ?? 'N/A') }}
@endforeach
@if($equipments->count() > 6)
+ {{ $equipments->count() - 6 }} autres équipements
@endif @else

Aucun équipement enregistré

@endif

Ventes Urgentes ({{ isset($urgentSales) ? $urgentSales->count() : 0 }})

@if(isset($urgentSales) && $urgentSales->count() > 0)
@foreach($urgentSales->take(5) as $sale)

{{ $sale->title ?? 'Vente urgente' }}

{{ $sale->created_at->format('d/m/Y') }}

{{ number_format($sale->price ?? 0, 2) }} €
{{ ucfirst($sale->status ?? 'N/A') }}
@endforeach
@else

Aucune vente urgente

@endif

Réservations Récentes

@if(isset($recentBookings) && $recentBookings->count() > 0)
@foreach($recentBookings as $booking) @endforeach
Client Date Montant Statut
{{ substr($booking->client->name ?? 'C', 0, 1) }}
{{ $booking->client->name ?? 'Client' }}
{{ $booking->created_at->format('d/m/Y') }} {{ number_format($booking->total_price ?? 0, 2) }} € @php $statusColors = [ 'pending' => 'bg-yellow-100 text-yellow-800', 'confirmed' => 'bg-blue-100 text-blue-800', 'completed' => 'bg-green-100 text-green-800', 'cancelled' => 'bg-red-100 text-red-800', ]; $color = $statusColors[$booking->status] ?? 'bg-gray-100 text-gray-800'; @endphp {{ ucfirst($booking->status ?? 'N/A') }}
@else

Aucune réservation

@endif

Résumé Statistiques

{{ $prestataire->services ? $prestataire->services->count() : 0 }}
Services
{{ $prestataire->reviews ? $prestataire->reviews->count() : 0 }}
Avis
{{ $prestataire->rating_average ? number_format($prestataire->rating_average, 1) : '0.0' }}
Note moyenne
{{ isset($equipments) ? $equipments->count() : 0 }}
Équipements
{{ isset($urgentSales) ? $urgentSales->count() : 0 }}
Ventes urgentes
{{ $stats['total_bookings'] ?? 0 }}
Réservations