@extends('layouts.prestataire') @section('title', 'Appels d\'Offres Disponibles') @section('styles') @endsection @section('content')
{{-- Avertissement si pas de catégories --}} @if(isset($noCategoriesWarning) && $noCategoriesWarning)

Complétez votre profil

Vous n'avez pas encore sélectionné de catégories de services. Ajoutez vos spécialités pour voir les appels d'offres correspondants.

Modifier mon profil
@endif {{-- Header --}} {{-- Statistiques --}}
{{ $stats['available'] }} Disponibles
{{ $stats['responded'] }} Propositions envoyées
{{ $stats['shortlisted'] }} Présélections
{{ $stats['accepted'] }} Missions obtenues
{{-- Invitations récentes --}} @if($invitations->count() > 0)
@endif {{-- Filtres --}}
{{ method_exists($tenders, 'total') ? $tenders->total() : $tenders->count() }} appel(s) d'offre trouvé(s)
{{-- Liste des appels d'offres --}} @if($tenders->count() > 0)
@foreach($tenders as $tender)
@if($tender->urgency === 'urgent') Urgent @elseif($tender->urgency === 'high') Prioritaire @endif @if($tender->responses_count >= $tender->max_responses * 0.8) Peu de places @endif

{{ $tender->title }}

{{ Str::limit($tender->description, 120) }}

{{ $tender->city }}
{{ $tender->start_date ? $tender->start_date->format('d/m') : 'Flexible' }}
@if($tender->budget_visible && $tender->budget_max)
{{ number_format($tender->budget_max, 0) }} €
@endif
@foreach($tender->categories->take(2) as $category) {{ $category->name }} @endforeach @if($tender->categories->count() > 2) +{{ $tender->categories->count() - 2 }} @endif
{{-- Indicateur d'expiration --}} @if($tender->expires_at && $tender->expires_at->diffInDays() < 3)
Expire dans {{ $tender->expires_at->diffForHumans() }}
@endif
@endforeach
{{-- Pagination --}} @if(method_exists($tenders, 'links'))
{{ $tenders->links() }}
@endif @else {{-- État vide --}}

Aucun appel d'offre trouvé

Il n'y a pas d'appel d'offre correspondant à vos critères pour le moment.

Conseils :

  • Élargissez vos critères de recherche
  • Ajoutez plus de catégories à votre profil
  • Activez les notifications pour être alerté
@endif
{{-- Alpine.js Component - MUST be defined BEFORE Alpine starts --}} @endsection