@extends('layouts.app') @section('title', 'Tous les services - TaPrestation') @section('content')
{{-- ═══ HERO ═══ --}}

Services Professionnels

Trouvez l'expert idéal pour votre projet

@if($services->count() > 0)
{{ $services->total() }} service{{ $services->total() > 1 ? 's' : '' }}
@if($categories->count() > 0)
{{ $categories->whereNull('parent_id')->count() }} catégorie{{ $categories->whereNull('parent_id')->count() > 1 ? 's' : '' }}
@endif
@endif
{{-- ═══ FILTRES ═══ --}}
@include('components.filters.compact-filters', [ 'pageType' => 'services', 'themeColor' => 'blue', 'formAction' => route('services.index'), 'categories' => $categories->whereNull('parent_id') ])
{{-- ═══ CONTENU ═══ --}}
@if($services->count() > 0)
{{ $services->total() }} résultat{{ $services->total() > 1 ? 's' : '' }}@if(request('q')) pour « {{ request('q') }} »@endif
@foreach($services as $service) @php $photoCount = $service->images?->count() ?? 0; $firstPhoto = $photoCount > 0 ? $service->images->first()->image_path : null; $prestataire = $service->prestataire; $prestataireName = $prestataire?->user?->name ?? $prestataire?->company_name ?? $prestataire?->first_name ?? 'Prestataire'; $canContact = auth()->check() && auth()->user()->role === 'client' && $prestataire && auth()->user()->id !== $prestataire->user_id; $showBooking = function_exists('feature_enabled') && feature_enabled('booking_payment_enabled'); $city = $service->city ?: ($prestataire?->city ?: null); $ratingAvg = $prestataire?->rating_average; $ratingCount = $prestataire?->total_reviews; @endphp
{{-- Image — on garde le style inline comme l'original qui fonctionnait --}}
@if($firstPhoto) @else
@endif
{{ $service->created_at->diffForHumans(null, true, true) }}
@if($service->price)
{{ number_format($service->price, 0, ',', ' ') }} €
@else
Sur devis
@endif
{{ $service->title }}
{{ $prestataireName }}
@if($city) {{ Str::limit($city, 18) }}@endif @if(is_numeric($ratingAvg) && (float)$ratingAvg > 0) {{ number_format((float)$ratingAvg, 1, '.', '') }}@if(is_numeric($ratingCount) && (int)$ratingCount > 0) ({{ (int)$ratingCount }})@endif@endif @if(isset($service->distance_km) && $service->distance_km !== null) {{ $service->distance_km }} km@endif
{{-- Boutons bien contrastés --}}
@endforeach
@if($services->hasPages())
{{ $services->appends(request()->query())->links() }}
@endif @else

Aucun service trouvé

Essayez de modifier vos filtres ou explorez tous nos services.

Réinitialiser
@endif
@endsection