@php $etapes = [ 1 => ['label' => 'État civil', 'hint' => 'Adhérent principal'], 2 => ['label' => "Pièce d'identité", 'hint' => 'CNI · Passeport · Électorale'], 3 => ['label' => 'Téléphones', 'hint' => 'Vérification OTP'], 4 => ['label' => 'Ayants droit', 'hint' => 'Enfants ≤ 17 ans'], 5 => ['label' => 'Récapitulatif', 'hint' => 'Soumission'], ]; @endphp {{ \App\Support\Fg::dateLongueFr(now()) }} · {{ now()->format('H:i') }}
{{-- Confirmation post-soumission --}} @if(request('confirme'))
Dossier soumis à la validation centrale.
IUS attribué : {{ \App\Support\Fg::ius(request('confirme')) }}
Nouvel enrôlement
@endif {{-- Page header --}}
Brouillon {{ $draft_id }}
Enrôlement d'un adhérent AMU
{{-- Stepper --}}
@foreach($etapes as $num => $etape) @php $estActif = $etape_courante === $num; $estFait = $etape_courante > $num; $clickable = $num < $etape_courante; @endphp
$estActif, 'done' => $estFait]) @if($clickable) wire:click="revenirEtape({{ $num }})" @endif> @if($num < 5)
$estFait])>
@endif
@if($estFait) @else {{ $num }} @endif
{{ $etape['label'] }}
{{ $etape['hint'] }}
@endforeach
{{-- Wizard grid --}}
{{-- FORMULAIRE (colonne gauche) --}}
Étape {{ $etape_courante }} / 5

{{ $etapes[$etape_courante]['label'] }}

{{ $etapes[$etape_courante]['hint'] }}

{{-- ========= ÉTAPE 1 : État civil ========= --}} @if($etape_courante === 1)
Identité
@foreach(['M.', 'Mme', 'Mlle'] as $civ) @endforeach
@error('nom')
{{ $message }}
@enderror
@error('prenoms')
{{ $message }}
@enderror
@error('date_naissance')
{{ $message }}
@enderror
@foreach(['M' => 'Homme', 'F' => 'Femme'] as $val => $lbl) @endforeach
Résidence
@error('region_residence')
{{ $message }}
@enderror
@error('prefecture_residence')
{{ $message }}
@enderror
@endif {{-- ========= ÉTAPE 2 : Pièce d'identité ========= --}} @if($etape_courante === 2)
Type et référence
@foreach(['CNI' => "Carte d'identité", 'PASSEPORT' => 'Passeport', 'CARTE_ELECTORALE' => 'Carte électorale', 'ACTE_NAISSANCE' => 'Acte de naissance'] as $val => $lbl) @endforeach
@error('piece_numero')
{{ $message }}
@enderror
Scans
@foreach ([['recto', 'Recto', $piece_recto_chemin, $piece_recto_nom], ['verso', 'Verso', $piece_verso_chemin, $piece_verso_nom]] as [$face, $libelle, $chemin, $nomFichier])
@if ($chemin) @endif @error('piece_'.$face)
{{ $message }}
@enderror
@endforeach
Les scans sont facultatifs : le dossier peut être soumis sans pièce jointe. La validation centrale signalera simplement leur absence.
@endif {{-- ========= ÉTAPE 3 : Téléphones et OTP ========= --}} @if($etape_courante === 3)
Téléphones (jusqu'à 2)
@foreach($telephones as $i => $t)
$t['est_principal']])>
{{ $i === 0 ? 'Téléphone principal (cotisation)' : 'Téléphone secondaire' }}
@if($t['est_principal']) ● PRÉLÈVEMENT @endif
@error('telephones.'.$i.'.numero')
{{ $message }}
@enderror
@if(! $t['est_verifie']) @endif @if($t['otp_envoye'] && ! $t['est_verifie']) @endif @if($t['est_verifie']) Vérifié par OTP @endif
@if(session('otp_info_'.$i))
{{ session('otp_info_'.$i) }}
@endif @error('telephones.'.$i.'.otp_saisi')
{{ $message }}
@enderror
@endforeach
@endif {{-- ========= ÉTAPE 4 : Profil + Ayants droit ========= --}} @if($etape_courante === 4)
Profil de cotisation
@foreach($profils as $p)
$profil_cotisant_id === $p->id])> {{-- Le montant de cotisation n'est volontairement pas affiché ici : le profil se choisit sur l'activité réelle du demandeur et le justificatif qu'il peut produire, pas sur le prix. Le montant retenu apparaît au récapitulatif. --}}
{{ $p->code }}
{{ $p->libelle }}
{{ $p->justificatif_requis }}
@endforeach
@error('profil_cotisant_id')
{{ $message }}
@enderror
Ayants droit (optionnel)

Les enfants de moins de 18 ans peuvent être ajoutés sans cotisation supplémentaire. Ils perdront le bénéfice AMU au 18ᵉ anniversaire.

@foreach($ayants_droit as $i => $a)
{{ mb_strtoupper(mb_substr($a['prenoms'] ?: '?', 0, 1).mb_substr($a['nom'] ?: '', 0, 1)) }}
@endforeach
@endif {{-- ========= ÉTAPE 5 : Récapitulatif ========= --}} @if($etape_courante === 5)
État civil
Nom complet
{{ $civilite }} {{ $prenoms }} {{ mb_strtoupper($nom) }}
Date de naissance
{{ $date_naissance ? \App\Support\Fg::dateFr($date_naissance) : '—' }}
Sexe
{{ $sexe === 'M' ? 'Homme' : 'Femme' }}
Nationalité
{{ $nationalite }}
Résidence
{{ collect([$quartier_residence, $prefecture_residence, $region_residence])->filter()->implode(' · ') }}
Pièce d'identité
Type
{{ $piece_type }}
Numéro
{{ $piece_numero }}
Recto
{{ $piece_recto_chemin ? '✓ joint' : 'non joint' }}
Verso
{{ $piece_verso_chemin ? '✓ joint' : 'non joint' }}
Téléphones
@foreach($telephones as $t) @if(!empty($t['numero']))
{{ $t['numero'] }} {{ $t['operateur'] }} @if($t['est_principal'])PRÉLÈVEMENT@endif @if($t['est_verifie'])✓ OTP vérifié@endif
@endif @endforeach
Profil de cotisation
@php $p = $profils->firstWhere('id', $profil_cotisant_id); @endphp @if($p)
{{ $p->libelle }} — {{ $p->code }}
{{ \App\Support\Fg::gnf($p->cotisation_mois) }} / mois
@else
Aucun profil sélectionné.
@endif
@if(count($ayants_droit) > 0)
Ayants droit ({{ count($ayants_droit) }})
    @foreach($ayants_droit as $a) @if(!empty($a['nom']))
  • {{ $a['prenoms'] }} {{ mb_strtoupper($a['nom']) }} — {{ $a['lien_parente'] }} — né(e) le {{ $a['date_naissance'] ? \App\Support\Fg::dateFr($a['date_naissance']) : '?' }}
  • @endif @endforeach
@endif
Déclaration sur l'honneur

Je certifie que les informations fournies sont exactes, que l'adhérent ne bénéficie d'aucune autre couverture maladie (CNSS, CNPS, IPM), et je comprends qu'une fausse déclaration entraîne l'annulation du dossier et des sanctions.

@error('declaration_sur_honneur')
{{ $message }}
@enderror
Activation RGB : le 1ᵉʳ du mois civil suivant la validation centrale. Le premier prélèvement a lieu à la même date.
@endif
{{-- Footer navigation --}}
{{-- ========= PANNEAU RÉCAP (colonne droite, sticky) ========= --}}