@extends('layouts.app') @push('styles') @endpush @section('content')
{{-- ============ HERO SECTION ============ --}}
Professionnels vérifiés

Trouvez le prestataire idéal

Des milliers de professionnels qualifiés prêts à réaliser vos projets. Comparez, contactez et réservez en toute confiance.

{{ $prestataires->total() }}+ Prestataires
{{ $categories->count() }} Catégories
4.8 Note moyenne
{{-- ============ SEARCH SECTION ============ --}}
@if(request()->anyFilled(['name', 'category', 'subcategory', 'city'])) Réinitialiser @endif
{{-- ============ CATEGORIES CHIPS ============ --}}
Tous @foreach($categories->take(10) as $cat) {{ $cat->name }} @endforeach
{{-- ============ RESULTS BAR ============ --}}
{{ $prestataires->total() }} prestataire{{ $prestataires->total() > 1 ? 's' : '' }} trouvé{{ $prestataires->total() > 1 ? 's' : '' }} @if(request('category') && $categories->where('id', request('category'))->first()) dans {{ $categories->where('id', request('category'))->first()->name }} @endif @if(request('city')) à {{ request('city') }} @endif
{{-- ============ GRID PRESTATAIRES ============ --}}
@forelse($prestataires as $prestataire) @php $rating = isset($prestataire->reviews) ? $prestataire->reviews->avg('rating') : 0; $reviewCount = isset($prestataire->reviews) ? $prestataire->reviews->count() : 0; $isNew = $prestataire->created_at && $prestataire->created_at->diffInDays(now()) < 30; $isTop = $reviewCount >= 5 && $rating >= 4.5; $categoryName = $prestataire->category->name ?? $prestataire->secteur_activite ?? null; $hasPhoto = $prestataire->photo || $prestataire->user->avatar; $coverPhoto = $prestataire->cover_photo ?? null; @endphp
{{-- Cover Image --}}
@if($coverPhoto) {{ $prestataire->user->name ?? 'Prestataire' }} @else
@endif
{{-- Avatar --}}
@if($prestataire->photo) {{ $prestataire->user->name }} @elseif($prestataire->user->avatar) {{ $prestataire->user->name }} @else
{{ strtoupper(substr($prestataire->user->name, 0, 1)) }}
@endif
{{-- Badges --}}
@if($prestataire->isVerified()) Vérifié @endif @if($isTop) Top @elseif($isNew) Nouveau @endif
{{-- Content --}}
{{ $prestataire->user->name }}
@if($categoryName) {{ $categoryName }} @endif
{{-- Rating --}}
@for($i = 1; $i <= 5; $i++) @endfor
@if($reviewCount > 0) {{ number_format($rating, 1) }} ({{ $reviewCount }} avis) @else Pas encore d'avis @endif
{{-- Description --}} @if($prestataire->description)

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

@endif {{-- Meta Info --}}
@if($prestataire->city || $prestataire->address)
{{ $prestataire->city ?: $prestataire->address }}
@endif @if($prestataire->services_count ?? false)
{{ $prestataire->services_count }} services
@endif
{{-- Actions --}}
Voir profil @auth @if(auth()->user()->isClient()) @if(auth()->user()->client && auth()->user()->client->isFollowing($prestataire->id))
@csrf @method('DELETE')
@else
@csrf
@endif @endif @endauth
@empty

Aucun prestataire trouvé

Modifiez vos critères de recherche ou explorez toutes les catégories disponibles

@if(request()->anyFilled(['name', 'category', 'subcategory', 'city'])) Voir tous les prestataires @endif
@endforelse
{{-- Pagination --}} @if($prestataires->hasPages())
{{ $prestataires->withQueryString()->links() }}
@endif
{{-- Bouton scroll to top --}} @endsection @push('scripts') @endpush