@extends('layouts.app') @section('title', 'Dashboard Coach - FranCoach') @section('content')

{{ $dashboard['greeting'] }}

{{ $dashboard['athlete'] ? 'Panoramica di allenamenti, progressi e comunicazioni.' : 'Riepilogo degli atleti seguiti.' }}

{{ now()->isoFormat('dddd D MMMM') }}
@if (! $dashboard['athlete'])
@foreach([ ['Totale atleti',$dashboard['management']['total'],'bi-people'], ['Attivi',$dashboard['management']['active'],'bi-person-check'], ['Da attivare',$dashboard['management']['pending'],'bi-envelope'], ['In scadenza 30 gg',$dashboard['management']['next30'],'bi-hourglass-split'], ['Scaduti',$dashboard['management']['expired'],'bi-calendar-x'], ['Sospesi',$dashboard['management']['suspended'],'bi-pause-circle'], ] as [$label,$value,$icon])
@endforeach
@endif @if($dashboard['athlete'] && $dashboard['management']['imminent']->isNotEmpty())

Scadenze imminenti

Tutti gli atleti
@foreach($dashboard['management']['imminent'] as $item)@endforeach
AtletaScadenzaGiorniStato
{{ $item['athlete']->displayName() }}{{ francoach_format_date($item['expiresAt']) }}{{ $item['remainingDays'] }}{{ $item['status'] }}
Proroga
@csrf
@endif @if (! $dashboard['athlete'])

Atleti seguiti

Seleziona un atleta dalla barra superiore per aprire il resoconto completo.

Gestisci atleti
@if ($dashboard['athletesOverview']->isEmpty()) @else
@foreach ($dashboard['athletesOverview'] as $item) @endforeach
Atleta Allenamenti Alimentazione Media carichi Peso Abbonamento
{{ $item['athlete']->displayName() }} {{ $item['workoutsDone'] }}/{{ $item['workoutsDone'] + $item['workoutsRemaining'] }} {{ $item['nutritionDone'] }}/{{ $item['nutritionDone'] + $item['nutritionRemaining'] }} @if (is_null($item['loadDelta'])) Dati insufficienti @elseif ($item['loadDelta'] > 0) +{{ number_format($item['loadDelta'], 2, ',', '.') }} kg @elseif ($item['loadDelta'] < 0) {{ number_format($item['loadDelta'], 2, ',', '.') }} kg @else 0,00 kg @endif @if (is_null($item['weightDeltaPercentage'])) Dati insufficienti @elseif ($item['weightDeltaPercentage'] > 0) +{{ number_format($item['weightDeltaPercentage'], 2, ',', '.') }}% @elseif ($item['weightDeltaPercentage'] < 0) {{ number_format($item['weightDeltaPercentage'], 2, ',', '.') }}% @else 0,00% @endif @if (! is_null($item['currentWeight'])) {{ number_format($item['currentWeight'], 2, ',', '.') }} kg ({{ is_null($item['previousWeight']) ? '—' : number_format($item['previousWeight'], 2, ',', '.').' kg' }}) @endif @if ($item['subscriptionExpiresAt']) {{ francoach_format_date($item['subscriptionExpiresAt']) }} @else Nessun abbonamento @endif Apri
@endif
@else @php $selectedPhoneLink = $dashboard['athlete']['phone'] ? preg_replace('/[^\d+]/', '', $dashboard['athlete']['phone']) : null; $selectedWhatsappNumber = $dashboard['athlete']['phone'] ? preg_replace('/\D/', '', $dashboard['athlete']['phone']) : null; if ($selectedWhatsappNumber && str_starts_with($selectedWhatsappNumber, '00')) { $selectedWhatsappNumber = substr($selectedWhatsappNumber, 2); } @endphp
@if ($dashboard['athlete']['avatar']) Foto profilo di {{ $dashboard['athlete']['name'] }} @else {{ francoach_initials($dashboard['athlete']['name']) }} @endif
Atleta seguito

{{ $dashboard['athlete']['name'] }}

Email @if ($selectedPhoneLink) WhatsApp Chiama @endif Profilo
Età
{{ $dashboard['athlete']['age'] ? $dashboard['athlete']['age'].' anni' : 'Non disponibile' }}
Altezza
{{ $dashboard['athlete']['height'] ? number_format($dashboard['athlete']['height'], 0, ',', '.').' cm' : 'Non disponibile' }}
Seguito dal
{{ $dashboard['athlete']['coachingSince'] ?? 'Non disponibile' }}
Allenamento previsto oggi @if ($dashboard['todayWorkout'])

{{ $dashboard['todayWorkout']['name'] }}

{{ $dashboard['todayWorkout']['date'] }}

{{ $dashboard['todayWorkout']['status'] }} @else

Nessun allenamento

Oggi non risultano sessioni pianificate.

@endif Apri allenamenti
Scheda attiva @if ($dashboard['activePlan'])

{{ $dashboard['activePlan']['name'] }}

Versione {{ $dashboard['activePlan']['version'] }} · dal {{ $dashboard['activePlan']['startDate'] }}

@else

Nessuna scheda assegnata

Non è presente un piano attivo.

@endif Apri schede assegnate
Settimana corrente

Aderenza allenamenti

@if ($dashboard['weekly']['total'])
@else @endif
Misurazioni

Andamento peso

@if (! is_null($dashboard['weight']['latest'])) {{ number_format($dashboard['weight']['latest'], 1, ',', '.') }} {{ $dashboard['weight']['unit'] }} @endif
@if (count($dashboard['weight']['trend']) > 1)
@else @endif
Corpo

Ultimo peso

@if (! is_null($dashboard['weight']['latest']))
{{ number_format($dashboard['weight']['latest'], 1, ',', '.') }} {{ $dashboard['weight']['unit'] }} @if (! is_null($dashboard['weight']['variation'])) {{ $dashboard['weight']['variation'] > 0 ? '+' : '' }}{{ number_format($dashboard['weight']['variation'], 1, ',', '.') }} {{ $dashboard['weight']['unit'] }} @endif

Registrato il {{ $dashboard['weight']['date'] }}

@else @endif
Diario

Ultimo allenamento

@if ($dashboard['lastWorkout'])
{{ $dashboard['lastWorkout']['name'] }} {{ $dashboard['lastWorkout']['date'] }} {{ $dashboard['lastWorkout']['exercises'] }} esercizi @if ($dashboard['lastWorkout']['duration']) · {{ $dashboard['lastWorkout']['duration'] }} min @endif
@else @endif

Azioni rapide

Aggiornamenti

Attività recente

@if ($dashboard['activity'])
@foreach ($dashboard['activity'] as $activity) @endforeach
Ultime attività dell’atleta selezionato
Tipo Dettaglio Quando
{{ $activity['type'] }} {{ $activity['description'] }} {{ $activity['date'] }}
@else @endif

Ultimi messaggi

@forelse ($dashboard['messages'] as $message)
{{ $message['sender'] }}

{{ \Illuminate\Support\Str::limit($message['body'], 58) }}

{{ $message['date'] }}
@empty @endforelse

Notifiche

@if ($dashboard['notifications']['unreadCount']) {{ $dashboard['notifications']['unreadCount'] }} non lette @endif
@forelse ($dashboard['notifications']['items'] as $notification)
{{ $notification['title'] }} @if ($notification['body'])

{{ \Illuminate\Support\Str::limit($notification['body'], 72) }}

@endif {{ $notification['date'] }}
@empty @endforelse
@endif
@endsection