@php $birthDate = old('birth_date', optional($user->birth_date)->format('Y-m-d')); $activityStartedOn = old('activity_started_on', optional($user->activity_started_on)->format('Y-m-d')); $approvalExpiresOn = old('approval_expires_on', optional($user->approval_expires_on)->format('Y-m-d')); $professionLabel = match (old('gender', $user->gender)) { 'female' => 'assistante maternelle', 'male' => 'assistant maternel', default => 'assistant·e maternel·le', }; $dayLabels = [ 'monday' => 'lundi', 'tuesday' => 'mardi', 'wednesday' => 'mercredi', 'thursday' => 'jeudi', 'friday' => 'vendredi', 'saturday' => 'samedi', 'sunday' => 'dimanche', ]; $defaultProfileSchedule = collect($dayLabels) ->mapWithKeys(fn ($label, $key) => [$key => [ 'enabled' => in_array($key, ['monday', 'tuesday', 'thursday', 'friday'], true), 'start' => in_array($key, ['monday', 'tuesday', 'thursday', 'friday'], true) ? '08:30' : null, 'end' => in_array($key, ['monday', 'tuesday', 'thursday', 'friday'], true) ? '18:00' : null, ]]) ->all(); $profileSchedule = collect($dayLabels) ->mapWithKeys(fn ($label, $key) => [$key => array_merge($user->preferred_weekly_schedule[$key] ?? $defaultProfileSchedule[$key], old("preferred_weekly_schedule.$key", []))]) ->all(); $displayName = trim(($user->first_name ?: '').' '.($user->last_name ?: $user->birth_name ?: '')); $initials = mb_strtoupper(mb_substr($user->first_name ?: 'N', 0, 1).mb_substr($user->last_name ?: $user->birth_name ?: 'A', 0, 1)); $approvalExpired = $user->approval_expires_on && $user->approval_expires_on->isPast(); $approvalMonthsRemaining = $user->approval_expires_on && ! $approvalExpired ? (int) floor(now()->diffInMonths($user->approval_expires_on)) : null; $approvalDocOk = filled($user->approval_document_path) && ! $approvalExpired; $rcProDocOk = filled($user->professional_liability_document_path); $carInsuranceDocOk = filled($user->car_insurance_document_path); $lastSavedLabel = $user->updated_at ? ($user->updated_at->isToday() ? "aujourd'hui à ".$user->updated_at->format('H:i') : 'le '.$user->updated_at->format('d/m').' à '.$user->updated_at->format('H:i')) : null; $sectionLabels = [ 'sec-identite' => 'Identité', 'sec-lieu' => "Lieu d'exercice", 'sec-agrement' => 'Agrément', 'sec-assurances' => 'Assurances', ]; $railDotClass = fn (string $anchor) => match ($sectionStates[$anchor] ?? 'none-needed') { 'complete', 'required-complete' => 'profile-rail-dot--complete', 'partial' => 'profile-rail-dot--partial', 'empty' => 'profile-rail-dot--missing', default => 'profile-rail-dot--neutral', }; $pillShortLabels = [ 'car_insurance_name' => 'Assurance auto', 'car_insurance_address' => 'Assurance auto', 'car_insurance_policy_number' => 'Assurance auto', 'address_line2' => "Complément d'adresse", 'birth_date' => 'Date de naissance', 'activity_started_on' => "Date d'obtention d'agrément", ]; $missingPills = collect($missingFields) ->map(fn ($label, $field) => [ 'label' => $pillShortLabels[$field] ?? ucfirst($label), 'anchor' => $sectionAnchors[$field] ?? 'sec-identite', ]) ->unique('label') ->values(); @endphp
Ma photo de profil JPG, PNG ou WebP · 2 Mo max.
@if ($avatarUrl) @endif
Ma photo n’apparaît que dans naneasy, jamais sur les contrats.
@error('avatar_photo') {{ $message }} @enderror
{{ $displayName ?: $user->name }} {{ ucfirst($professionLabel) }}
@if ($user->approval_reference) Agrément n° {{ $user->approval_reference }}• @endif @if ($user->city) {{ $user->postal_code }} {{ $user->city }}• @endif {{ $user->email }}
@if ($user->assistant_code)
@endif
Profil complété {{ $completion['completed'] }} / {{ $completion['total'] }} infos
{{ $completion['percentage'] }} %
@if ($missingPills->isEmpty())

Mon profil contient toutes les informations obligatoires.

@else
@foreach ($missingPills->take(3) as $item) {{ $item['label'] }} @endforeach
@endif
Mes documents
Agrément {{ $approvalDocOk ? 'à jour' : 'manquant' }}
RC pro {{ $rcProDocOk ? 'à jour' : 'manquant' }}
Assurance auto {{ $carInsuranceDocOk ? 'à jour' : 'manquant' }}
@csrf @method('patch')
Mon identité telle qu’elle apparaîtra sur mes contrats
Je suis @foreach ([['female', 'Assistante maternelle'], ['male', 'Assistant maternel']] as [$value, $label]) @endforeach
@error('gender') {{ $message }} @enderror
Lieu d'exercice mon adresse ou adresse de la MAM où j'exerce
@error('street_address') {{ $message }} @enderror
Agrément
@if ($approvalDocOk) À jour @endif
@error('approval_document') {{ $message }} @enderror
@if ($approvalMonthsRemaining !== null) Je pense à renouveler mon agrément avant sa date de fin de validité (dans {{ $approvalMonthsRemaining }} mois). @elseif ($approvalExpired) Agrément expiré, à renouveler. @endif
Assurances professionnelles exigées en annexe du contrat
Responsabilité civile professionnelle @if ($rcProDocOk) Complète @endif
@error('professional_liability_document') {{ $message }} @enderror
@error('professional_liability_address') {{ $message }} @enderror
Assurance automobile Requise si je transporte l’enfant
@error('car_insurance_document') {{ $message }} @enderror
@error('car_insurance_address') {{ $message }} @enderror
Tarifs par défaut
Mes disponibilités
@foreach ($dayLabels as $key => $label)
@endforeach
@error('default_schedule_notice_weeks'){{ $message }}@enderror
@if ($lastSavedLabel) Dernier enregistrement : {{ $lastSavedLabel }} @endif
Mot de passe
@csrf @method('put')
@foreach ($errors->updatePassword->get('current_password') as $message) {{ $message }} @endforeach
@foreach ($errors->updatePassword->get('password') as $message) {{ $message }} @endforeach
@foreach ($errors->updatePassword->get('password_confirmation') as $message) {{ $message }} @endforeach
Mes données
@include('profile.partials.data-export')
Supprimer mon compte Suppression immédiate et définitive.
@csrf @method('delete')

Supprimer ma photo de profil ?

Je confirme la suppression de ma photo. Si ma photo vient de Google, elle ne sera plus utilisée dans naneasy.

@csrf @method('delete')

Supprimer mon compte ?

Cette action supprimera définitivement mon compte et mes données. Je saisis mon mot de passe pour confirmer.