@extends('layouts.app') @section('title', 'Dettaglio allenamento · FranCoach') @section('content') @php $prefix = $isCoach ? 'coach' : 'athlete'; $name = $session->structure_snapshot['day_name'] ?? 'Allenamento'; @endphp
{{ $session->status->label() }}

{{ $name }}

{{ $session->started_at?->translatedFormat('d F Y, H:i') }} · {{ $session->planVersion?->plan?->title ?? $session->structure_snapshot['plan_title'] ?? 'Scheda non disponibile' }}

@if ($session->previous_comparison || $session->personal_records)
@if ($session->previous_comparison)
Confronto precedente
Volume: {{ $session->previous_comparison['volume_difference_kg'] >= 0 ? '+' : '' }}{{ $session->previous_comparison['volume_difference_kg'] }} kg · Completamento: {{ $session->previous_comparison['completion_difference'] >= 0 ? '+' : '' }}{{ $session->previous_comparison['completion_difference'] }}%
@endif @if ($session->personal_records)
Record personali
    @foreach ($session->personal_records as $record)
  • {{ $record['exercise_name'] }}: {{ $record['weight_kg'] }} kg
  • @endforeach
@endif
@endif

Feedback atleta

@if ($session->feedback)
Difficoltà
{{ $session->feedback->difficulty ?? $session->feedback->perceived_effort ?? '—' }}/5
Energia
{{ $session->feedback->energy_level?->label() ?? '—' }}
Qualità
{{ $session->feedback->workout_quality ?? '—' }}/5
Dolore
{{ $session->feedback->pain_level ?? '—' }}/5
Valutazione
{{ $session->feedback->rating ?? '—' }}/5

{{ $session->feedback->comment ?? $session->feedback->notes ?? 'Nessun commento.' }}

@else @endif

Commento del coach

@if ($isCoach)
@csrf @method('PATCH')
@else

{{ $session->coach_comment ?: 'Nessun commento del coach.' }}

@endif
@if ($session->notes)

Note della sessione

{{ $session->notes }}
@endif
@foreach ($session->exercises as $sessionExercise) @php $snapshot = $sessionExercise->exercise_snapshot ?? []; @endphp

{{ $sessionExercise->exercise_name }}

Volume {{ number_format((float) $sessionExercise->volume_kg, 0, ',', '.') }} kg
@if ($sessionExercise->exercise) @endif
@if ($snapshot['video_url'] ?? null)
@endif @if ($sessionExercise->is_skipped)
Esercizio saltato.
@else
@foreach ($sessionExercise->sets as $set) @if ($isCoach) @else @endif @endforeach
SerieCaricoREPSDurataDistanzaRIRRPERestNoteOra
{{ $set->set_number }}
@foreach (['weight_kg' => ['kg', '.25'], 'reps' => ['REPS', '1'], 'time_seconds' => ['sec', '1'], 'distance_meters' => ['m', '.01'], 'rir' => ['RIR', '1'], 'rpe' => ['RPE', '.5'], 'rest_seconds' => ['rec.', '1']] as $field => [$label, $step])
@endforeach
{{ $set->set_number }}{{ $set->weight_kg !== null ? $set->weight_kg.' kg' : '—' }}{{ $set->reps ?? '—' }}{{ $set->time_seconds ? $set->time_seconds.' sec' : '—' }}{{ $set->distance_meters ? $set->distance_meters.' m' : '—' }}{{ $set->rir ?? '—' }}{{ $set->rpe ?? '—' }}{{ $set->rest_seconds ? $set->rest_seconds.' sec' : '—' }}{{ $set->notes ?: '—' }}{{ $set->completed_at?->format('H:i') ?? '—' }}
@endif
@endforeach
@if ($isCoach)

Audit delle correzioni

@forelse ($audit as $entry)
{{ $entry->user?->displayName() ?? 'Coach' }} ·
Prima: {{ collect($entry->old_values)->filter(fn ($value) => $value !== null)->map(fn ($value, $key) => $key.': '.$value)->join(' · ') ?: '—' }}
Dopo: {{ collect($entry->new_values)->filter(fn ($value) => $value !== null)->map(fn ($value, $key) => $key.': '.$value)->join(' · ') ?: '—' }}
@empty

Nessuna correzione registrata.

@endforelse
@endif @endsection