@livewireStyles
{{-- Pagina 1: copertina stile business plan --}}
Piano nutrizionale
Piano personalizzato basato sulla visita nutrizionale @if($visita?->created_at) del {{ $visita->created_at->format('Y') }} @endif
@if(!empty($header ?? null)) {!! $header !!} @endif
Cliente
{{ $cliente->Nome ?? 'Cliente' }}
@if($visita?->created_at)
Data visita
{{ $visita->created_at->format('d/m/Y') }}
@endif
{{-- Qui è possibile impostare un'immagine di copertina in futuro --}}
PIANO NUTRIZIONALE
Report professionale
{{-- Pagina 2: consigli nutrizionali stile infografica --}}
Consigli nutrizionali
{{ $cliente->Nome ?? 'Cliente' }} @if($visita?->created_at) Visita del {{ $visita->created_at->format('d/m/Y') }} @endif
@php // Un unico blocco testuale: i "a capo" del textarea non devono creare più indicazioni $cibiRaw = trim($visita->cibi_da_evitare ?? ''); // Un unico blocco testuale: i "a capo" non devono creare più attività $esercizioRaw = trim($visita->esercizio_fisico ?? ''); $acquaRaw = trim($visita->acqua_raccomandata ?? ''); $acquaLines = $acquaRaw !== '' ? preg_split("/\r\n|\n|\r/", $acquaRaw) : []; $acquaHeadline = $acquaLines[0] ?? null; $acquaNotes = count($acquaLines) > 1 ? array_slice($acquaLines, 1) : []; $integrazioneRaw = trim($visita->integrazione ?? ''); $noteLibereRaw = trim($visita->note_libere ?? ''); @endphp {{-- Sezione 1: Cibi da evitare --}}
1
Cibi da evitare
Indicazioni personalizzate dalla visita nutrizionale
@if($cibiRaw !== '')
{{ $cibiRaw }}
@else
Nessuna indicazione specifica inserita.
@endif
{{-- Sezione 2: Attività sportiva consigliata --}}
2
Attività sportiva consigliata
Suggerimenti di movimento a supporto del piano
@if($esercizioRaw !== '')
{{ $esercizioRaw }}
@else
Nessuna indicazione specifica inserita.
@endif
{{-- Sezione 3: Quantità di acqua --}}
3
Quantità di acqua da assumere fuori dai pasti
Obiettivi di idratazione quotidiana
@if($acquaHeadline)
{{ $acquaHeadline }}
@else
1.5 – 2.0 litri al giorno (valore indicativo)
@endif
Assicurarsi di mantenere una buona idratazione durante la giornata.
@foreach($acquaNotes as $nota) @php $nota = trim($nota); @endphp @if($nota !== '')
• {{ $nota }}
@endif @endforeach
{{-- Sezione 4: Integrazione --}}
4
Integrazione
Integratori consigliati dalla visita nutrizionale
@if($integrazioneRaw !== '')
{{ $integrazioneRaw }}
@else
Nessuna indicazione specifica inserita.
@endif
{{-- Sezione 5: Note libere --}}
5
Note libere
Annotazioni aggiuntive della visita nutrizionale
@if($noteLibereRaw !== '')
{{ $noteLibereRaw }}
@else
Nessuna indicazione specifica inserita.
@endif
{{-- Pagine successive: un giorno per pagina in stile schema alimentare --}} @foreach($riepilogoPiano['giorni'] ?? [] as $giorno => $datiGiorno)
@php $labelGiorno = trim((string) ($datiGiorno['label_giorno'] ?? '')) ?: $giorno; @endphp
Schema alimentare – {{ $labelGiorno }}
{{ $cliente->Nome ?? 'Cliente' }} @if($visita?->created_at) Visita del {{ $visita->created_at->format('d/m/Y') }} @endif
@if($loop->first)
Schema settimanale
@endif
@php $notaGiornoPdf = trim((string) ($datiGiorno['nota_giorno'] ?? '')); @endphp @if($notaGiornoPdf !== '')
Note {{ $notaGiornoPdf }}
@endif
@foreach($datiGiorno['pasti'] as $pasto) @php $energiaKcal = (int) round($pasto['totali_pasto']['energia_kcal'] ?? 0); $proteineG = (int) round($pasto['totali_pasto']['proteine_g'] ?? 0); $carboidratiG = (int) round($pasto['totali_pasto']['carboidrati_g'] ?? 0); $lipidiG = (int) round($pasto['totali_pasto']['lipidi_g'] ?? 0); $notePasto = $pasto['note'] ?? null; @endphp
{{ $pasto['label'] }}
@if(!($nascondiMacroKcal ?? false))
Calorie {{ $energiaKcal }} kcal
@endif
@forelse($pasto['alimenti'] as $alimento) @if(($alimento['tipo'] ?? 'alimento') === 'ricetta')
{{ $alimento['nome'] ?? 'Ricetta' }}
@foreach($alimento['componenti'] ?? [] as $componente)
{{ $componente['nome'] ?? 'Alimento' }} ({{ (int) ($componente['quantita_g'] ?? 0) }} g) @if(!empty($componente['sostituti'] ?? []))
Sostituti: @foreach($componente['sostituti'] as $sost) {{ $sost['nome'] ?? 'Alimento' }} ({{ (int) ($sost['quantita_g'] ?? 0) }} g)@if(!$loop->last), @endif @endforeach
@endif
@endforeach @if(!empty($alimento['sostituti'] ?? [])) @foreach($alimento['sostituti'] as $sostRicetta)
oppure {{ $sostRicetta['nome'] ?? 'Ricetta' }} @foreach($sostRicetta['componenti'] ?? [] as $compSost)
{{ $compSost['nome'] ?? 'Alimento' }} ({{ (int) ($compSost['quantita_g'] ?? 0) }} g)
@endforeach
@endforeach @endif
@else
{{ $alimento['nome'] ?? 'Alimento' }} ({{ (int) ($alimento['quantita_g'] ?? 0) }} g) @if(!empty($alimento['sostituti'] ?? []))
Sostituti: @foreach($alimento['sostituti'] as $sost) {{ $sost['nome'] ?? 'Alimento' }} ({{ (int) ($sost['quantita_g'] ?? 0) }} g)@if(!$loop->last), @endif @endforeach
@endif
@endif @empty
Nessun alimento inserito.
@endforelse
@if(!($nascondiMacroKcal ?? false))
kcal {{ $energiaKcal }}
P {{ $proteineG }} g
L {{ $lipidiG }} g
C {{ $carboidratiG }} g
@include('reportpdf.partials.meal-mineral-chips', [ 'totaliMicroPasto' => $pasto['totali_micro_pasto'] ?? [], ])
@endif
@if(!empty($notePasto))
Note: {{ $notePasto }}
@endif
@endforeach
@endforeach @if(!empty($ricetteAppendice ?? [])) @include('reportpdf.piano-nutrizionale-ricette-appendice', [ 'ricetteAppendice' => $ricetteAppendice, 'cliente' => $cliente, 'visita' => $visita, 'paginaInizioAppendice' => count($riepilogoPiano['giorni'] ?? []) + 3, ]) @endif
@livewireScripts