@extends('layouts.app') @section('title', ($workout->day?->name ?? 'Sessione').' · FranCoach') @section('content') @php $isDone = $workout->status === \App\Enums\ScheduledWorkoutStatus::Completed; @endphp @if (! $isCoach) @php $exerciseCount = $workout->day?->exercises?->count() ?? 0; $completedExerciseCount = $workout->session?->exercises ?->filter(fn ($exercise) => $exercise->sets->isNotEmpty() && $exercise->sets->every->is_completed) ->count() ?? 0; @endphp
{{ $workout->scheduled_date->translatedFormat('l d F') }} · {{ $workout->status->label() }}

{{ $workout->day?->name ?? 'Allenamento' }}

{{ $workout->assignment->version->title }}

@if ($workout->session && ! $isDone)
@csrf @method('DELETE')
@else {{ $workout->status->label() }} @endif
@if ($workout->coach_notes)

Nota di FranCoach{{ $workout->coach_notes }}

@endif
Programma

Esercizi

{{ $completedExerciseCount }}/{{ $exerciseCount }}
@foreach ($workout->day->exercises as $item) @php $thumbnailPath = $item->exercise->cover_image_path ?: $item->exercise->execution_gif_path; $repetitions = $item->sets->map(function ($set) { if ($set->technique === \App\Enums\WorkoutTechnique::DropSet) { return collect($set->drop_segments) ->pluck('reps') ->filter(fn ($reps) => $reps !== null) ->join('+'); } if ($set->reps_min === null) { return null; } return $set->reps_max && $set->reps_max !== $set->reps_min ? $set->reps_min.'–'.$set->reps_max : (string) $set->reps_min; })->filter()->values(); $uniqueRepetitions = $repetitions->unique()->values(); $repetitionSummary = $uniqueRepetitions->count() === 1 ? $uniqueRepetitions->first() : $repetitions->join(' / '); $restSummary = $item->sets->pluck('rest_seconds') ->filter(fn ($seconds) => $seconds !== null) ->unique() ->join('/'); $techniques = $item->sets->pluck('technique') ->filter(fn ($technique) => $technique && $technique !== \App\Enums\WorkoutTechnique::Normal) ->map->label() ->unique() ->join(' · '); @endphp @if ($thumbnailPath) @else @endif @if ($item->block_name) {{ $item->block_name }} @endif {{ $item->exercise->name }} {{ $item->sets->count() }} {{ $item->sets->count() === 1 ? 'serie' : 'serie' }} @if ($repetitionSummary !== ''){{ $repetitionSummary }} REPS@endif @if ($restSummary !== ''){{ $restSummary }}s@endif @if ($techniques) {{ $techniques }} @endif @endforeach
@if ($isDone && $workout->session) Apri riepilogo @elseif (in_array($workout->status, [\App\Enums\ScheduledWorkoutStatus::Planned, \App\Enums\ScheduledWorkoutStatus::Rescheduled, \App\Enums\ScheduledWorkoutStatus::Started], true))
@csrf
@endif
@else

{{ $workout->day?->name ?? 'Allenamento' }}

{{ $workout->scheduled_date->translatedFormat('l d F Y') }} · {{ $workout->assignment->version->title }} v{{ $workout->assignment->version->version_number }}

@if ($workout->original_scheduled_date) Data originale: {{ $workout->original_scheduled_date->format('d/m/Y') }} @endif
@if (! $isCoach && in_array($workout->status, [\App\Enums\ScheduledWorkoutStatus::Planned, \App\Enums\ScheduledWorkoutStatus::Rescheduled, \App\Enums\ScheduledWorkoutStatus::Started], true))
@csrf
@endif
@if ($isCoach)
@csrf @method('PATCH')
@csrf @method('PATCH')
@csrf @method('PATCH')
@elseif ($workout->coach_notes)
Nota di FranCoach: {{ $workout->coach_notes }}
@endif @if ($isCoach && $workout->session)

Correzione dati registrati

Le modifiche vengono salvate automaticamente e registrate nell’audit log.

@foreach ($workout->session->exercises as $sessionExercise)
{{ $sessionExercise->exercise_name }} @foreach ($sessionExercise->sets as $set)
{{ $set->set_number }}
@endforeach
@endforeach
@endif
@foreach ($workout->day->exercises as $item) @php $isSuperset = filled($item->superset_group) && $item->sets->contains( fn ($set) => $set->technique === \App\Enums\WorkoutTechnique::Superset ); $previousItem = $workout->day->exercises->get($loop->index - 1); $nextItem = $workout->day->exercises->get($loop->index + 1); $startsSuperset = $isSuperset && $previousItem?->superset_group !== $item->superset_group; $endsSuperset = $isSuperset && $nextItem?->superset_group !== $item->superset_group; @endphp @if ($startsSuperset)
Superset {{ $item->block_name ?: $item->superset_group }} 2 esercizi consecutivi
@endif
@if ($item->block_name && ! $isSuperset){{ $item->block_name }}@endif

{{ $item->exercise->name }}

@if ($item->exercise->video_url) Video @endif
@unless($isDone)@endunless @foreach ($item->sets as $set) @php $dropRepetitions = $set->technique === \App\Enums\WorkoutTechnique::DropSet ? collect($set->drop_segments)->map(fn ($segment) => $segment['reps'] ?? '—')->join(' / ') : ''; @endphp @unless($isDone)@endunless @endforeach
SerieTecnicaREPSCaricoRestIntensitàTUT
{{ $set->set_number }} {{ $set->technique->label() }} {{ $dropRepetitions ?: (($set->reps_min ?? '—').($set->reps_max && $set->reps_max !== $set->reps_min ? '–'.$set->reps_max : '')) }} {{ $set->target_weight_kg ? $set->target_weight_kg.' kg' : ($set->percentage_1rm ? $set->percentage_1rm.'%' : '—') }}{{ $set->rest_seconds !== null ? $set->rest_seconds.'″' : '—' }}{{ $set->rir_target !== null ? 'RIR '.$set->rir_target : ($set->rpe_target ? 'RPE '.$set->rpe_target : '—') }} {{ $set->tempo ?: '—' }}
@if ($item->notes)

{{ $item->notes }}

@endif
@if ($endsSuperset)
@endif @endforeach
@endif @endsection