@extends('layout.app') @php function getSector($child) { $class = strtolower($child->class_child ?? ''); return match (true) { str_contains($class, 'ps') => 'Chouchou', str_contains($class, 'ms') || str_contains($class, 'gs') => 'Petits', str_contains($class, 'cp') || str_contains($class, 'ce1') || str_contains($class, 'ce2') => 'Moyen', str_contains($class, 'cm1') || str_contains($class, 'cm2') => 'Grands', str_contains($class, 'college') => 'Ados', default => 'Non classé', }; } /** * Répartition simple par secteur */ $sectorStats = collect($inscriptions ?? []) ->groupBy(fn($i) => getSector($i['child'])) ->map(fn($items) => $items->count()) ->sortDesc(); /** * Répartition secteur + activité (matrice) */ $sectorActivityStats = collect($inscriptions ?? []) ->flatMap(function ($inscription) { $sector = getSector($inscription['child']); return collect($inscription['activities'] ?? [])->map(function ($activity) use ($sector) { return [ 'sector' => $sector, 'activity' => $activity->name_activity ?? 'Inconnu', ]; }); }) ->groupBy('activity') ->map(function($activities) { return $activities->groupBy('sector') ->map(fn($items) => $items->count()); }); @endphp @section('body')
Logo
Gestion des inscriptions

Tableau de bord
Été 2026

Consultation rapide des enfants, responsables et activités.

Inscriptions

{{ count($inscriptions ?? []) }}

Activités

{{ collect($inscriptions ?? [])->pluck('activities')->flatten()->count() }}

Options

{{ collect($inscriptions ?? [])->pluck('options')->flatten()->count() }}

Secteurs

Répartition des enfants

@foreach($sectorStats as $sector => $count)
{{ $sector }} {{ $count }}
@endforeach

Secteur / Activité

Répartition croisée

@foreach($sectorActivityStats as $activity => $sectors)
{{ $activity }}
@foreach($sectors as $sector => $count)
{{ $sector }} {{ $count }}
@endforeach
@endforeach

Liste des inscriptions

Toutes les inscriptions enregistrées pour l'été 2026.

{{-- --}}
@foreach ($inscriptions ?? [] as $inscription) @php $child = $inscription['child']; $guardians = $inscription['guardians']; $activities = $inscription['activities']; $options = $inscription['options']; $primary = $guardians->first(); $age = \Carbon\Carbon::parse($child->birthday_child)->age; $summary = collect($activities) ->pluck('name_activity') ->merge(collect($options)->pluck('name_options_activity')) ->filter() ->take(3); @endphp @endforeach
Enfant Âge Classe Responsable Activités Actions
{{ strtoupper(substr($child->firstname_child, 0, 1)) }}
{{ $child->firstname_child }} {{ $child->name_child }}
Né(e) le {{ \Carbon\Carbon::parse($child->birthday_child)->format('d/m/Y') }}
{{ $age }} ans
{{ $child->class_child }} @if($primary)
{{ $primary->first_name_legal_guardian }} {{ $primary->name_legal_guardian }}
{{ $primary->phone_legal_guardian }}
@else @endif
@foreach($summary as $tag) {{ $tag }} @endforeach
@endsection