@extends('adminlte::page') @section('title', 'Template: ' . $template->nome) @section('content_header')

{{ $template->nome }}

@stop @section('content')

Torna alla biblioteca @if(!auth()->user()->can('manage-banche-dati-generali') && $template->created_by != auth()->id()) Clona questo template @endif

@if($template->descrizione)
Descrizione: {{ $template->descrizione }}
@endif
Visibilità: @if($template->pubblica) Pubblico @else Privato @endif
@php $dieta = $template->dieta; $labelsPasti = [ 'colazione' => 'Colazione', 'spuntino_mattutino' => 'Spuntino di metà mattina', 'pranzo' => 'Pranzo', 'spuntino_pomeridiano' => 'Spuntino pomeridiano', 'cena' => 'Cena', ]; $ordineGiorni = [ 'lunedi', 'martedi', 'mercoledi', 'giovedi', 'venerdi', 'sabato', 'domenica', ]; $ordinePasti = [ 'colazione', 'spuntino_mattutino', 'pranzo', 'spuntino_pomeridiano', 'cena', ]; $normalizzaChiave = function (string $valore): string { return str_replace( ['à', 'è', 'é', 'ì', 'ò', 'ù', ' '], ['a', 'e', 'e', 'i', 'o', 'u', '_'], mb_strtolower(trim($valore)) ); }; $dietaOrdinata = collect($dieta)->sortBy(function ($pasti, $giorno) use ($ordineGiorni, $normalizzaChiave) { $chiave = $normalizzaChiave((string) $giorno); $indice = array_search($chiave, $ordineGiorni, true); return $indice === false ? 999 : $indice; }); $alimentoIds = collect($dieta)->flatMap(fn ($pasti) => collect($pasti)->pluck('alimenti'))->flatten(1)->pluck('alimento_id')->filter()->unique()->all(); $alimenti = $alimentoIds ? \App\Models\Alimento::whereIn('id', $alimentoIds)->get()->keyBy('id') : collect(); @endphp

Struttura settimanale (sola lettura)

@foreach($dietaOrdinata as $giorno => $pasti)
{{ $giorno }}
@foreach($ordinePasti as $pastoKey) @continue(!array_key_exists($pastoKey, $pasti)) @php $dati = $pasti[$pastoKey]; @endphp
{{ $labelsPasti[$pastoKey] ?? $pastoKey }} @if(!empty($dati['ora'])) ({{ $dati['ora'] }}) @endif
    @forelse($dati['alimenti'] ?? [] as $item) @php $alimento = $alimenti->get($item['alimento_id'] ?? 0); $nome = $alimento ? $alimento->nome : ('ID ' . ($item['alimento_id'] ?? '-')); $qta = $item['quantita_g'] ?? 0; @endphp
  • {{ $nome }} — {{ $qta }} g
  • @empty
  • Nessun alimento
  • @endforelse
@endforeach @foreach($pasti as $pastoKey => $dati) @continue(in_array($pastoKey, $ordinePasti, true))
{{ $labelsPasti[$pastoKey] ?? $pastoKey }} @if(!empty($dati['ora'])) ({{ $dati['ora'] }}) @endif
    @forelse($dati['alimenti'] ?? [] as $item) @php $alimento = $alimenti->get($item['alimento_id'] ?? 0); $nome = $alimento ? $alimento->nome : ('ID ' . ($item['alimento_id'] ?? '-')); $qta = $item['quantita_g'] ?? 0; @endphp
  • {{ $nome }} — {{ $qta }} g
  • @empty
  • Nessun alimento
  • @endforelse
@endforeach
@endforeach
@if(!auth()->user()->can('manage-banche-dati-generali') && $template->created_by != auth()->id())
Clona questo template
@endif
@stop