@extends('layouts.admin') @section('title', 'Histórico — ' . $reservation->locator) @section('breadcrumb') Reservas / {{ $reservation->locator }} / Histórico @endsection @push('styles') @endpush @section('content')
{{-- Timeline principal --}}

{{ $logs->count() }} evento{{ $logs->count() !== 1 ? 's' : '' }} registrado{{ $logs->count() !== 1 ? 's' : '' }}

@if($logs->isEmpty())

Nenhum histórico registrado ainda.

@else
@foreach($logs as $log) @php $dotClass = match($log->action) { 'checkin' => 'checkin', 'checkout' => 'checkout', 'created' => 'created', 'canceled' => 'canceled', 'updated', 'status_changed', 'room_changed', 'period_changed' => 'updated', default => '', }; $actionColors = [ 'created' => '#6366f1', 'checkin' => '#4E86E8', 'checkout' => '#59B39E', 'canceled' => '#ef4444', 'updated' => '#f59e0b', 'status_changed' => '#f59e0b', 'room_changed' => '#8b5cf6', 'period_changed' => '#06b6d4', 'companion_added' => '#10b981', 'companion_removed'=> '#f43f5e', 'fnrh_generated' => '#f59e0b', 'payment_added' => '#059669', ]; $color = $actionColors[$log->action] ?? '#64748b'; @endphp
{{ str_replace('_', ' ', strtoupper($log->action)) }}
{{ $log->description }}
{{ $log->user?->name ?? 'Sistema' }} {{ $log->created_at->format('d/m/Y H:i:s') }} {{ ucfirst($log->origin) }}
{{-- Diff de valores --}} @if($log->old_values && $log->new_values)
@foreach(array_keys($log->new_values) as $field) @if(isset($log->old_values[$field]) && $log->old_values[$field] != $log->new_values[$field])
{{ $field }} {{ is_array($log->old_values[$field]) ? json_encode($log->old_values[$field]) : $log->old_values[$field] }} {{ is_array($log->new_values[$field]) ? json_encode($log->new_values[$field]) : $log->new_values[$field] }}
@endif @endforeach
@endif
@endforeach
@endif
{{-- Sidebar com resumo --}}

Resumo da Reserva

{{ $reservation->locator }}
{{ $reservation->status_label }}
Hóspede{{ $reservation->guest?->full_name }}
UH{{ $reservation->room?->name ?? '—' }}
Check-in{{ $reservation->check_in_expected->format('d/m/Y') }}
Check-out{{ $reservation->check_out_expected->format('d/m/Y') }}
Eventos{{ $logs->count() }}
Ver Detalhe
{{-- Legenda --}}

Legenda

@foreach([ ['created','#6366f1','Criação'], ['checkin','#4E86E8','Check-in'], ['checkout','#59B39E','Check-out'], ['updated','#f59e0b','Atualização'], ['canceled','#ef4444','Cancelamento'], ] as [$action,$color,$label])
{{ $label }}
@endforeach
@endsection