@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
| Atleta | Scadenza | Giorni | Stato | |
@foreach($dashboard['management']['imminent'] as $item)| {{ $item['athlete']->displayName() }} | {{ francoach_format_date($item['expiresAt']) }} | {{ $item['remainingDays'] }} | {{ $item['status'] }} | |
@endforeach
@endif
@if (! $dashboard['athlete'])
Atleti seguiti
Seleziona un atleta dalla barra superiore per aprire il resoconto completo.
Gestisci atleti
@if ($dashboard['athletesOverview']->isEmpty())
@else
| Atleta |
Allenamenti |
Alimentazione |
Media carichi |
Peso |
Abbonamento |
|
@foreach ($dashboard['athletesOverview'] as $item)
|
{{ $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
|
@endforeach
@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'] }}]({{ asset('storage/'.$dashboard['athlete']['avatar']) }})
@else
{{ francoach_initials($dashboard['athlete']['name']) }}
@endif
Atleta seguito
{{ $dashboard['athlete']['name'] }}
- 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
@if ($dashboard['weekly']['total'])
@else
@endif
@if (count($dashboard['weight']['trend']) > 1)
@else
@endif
@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
@if ($dashboard['lastWorkout'])
{{ $dashboard['lastWorkout']['name'] }}
{{ $dashboard['lastWorkout']['date'] }}
{{ $dashboard['lastWorkout']['exercises'] }} esercizi
@if ($dashboard['lastWorkout']['duration'])
· {{ $dashboard['lastWorkout']['duration'] }} min
@endif
@else
@endif
@if ($dashboard['activity'])
Ultime attività dell’atleta selezionato
| Tipo |
Dettaglio |
Quando |
@foreach ($dashboard['activity'] as $activity)
| {{ $activity['type'] }} |
{{ $activity['description'] }} |
{{ $activity['date'] }} |
@endforeach
@else
@endif
@forelse ($dashboard['messages'] as $message)
{{ $message['sender'] }}
{{ \Illuminate\Support\Str::limit($message['body'], 58) }}
{{ $message['date'] }}
@empty
@endforelse
@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