@extends('admin.layouts.app')
@section('title', __('admin.logs.show_title') . ' #' . $log->id . ' โ ' . __('admin.brand.name'))
@section('page_title', __('admin.logs.show_title'))
@php
$dash = 'โ';
/** Localized action / module names with dictionary fallback. */
$actionLabel = trans()->has('admin.logs.actions.' . $log->action)
? __('admin.logs.actions.' . $log->action)
: $log->action;
$moduleLabel = trans()->has('admin.logs.modules.' . $log->module)
? __('admin.logs.modules.' . $log->module)
: $log->module;
/** Pretty short class name: "App\\Models\\Startup" -> "Startup". */
$subjectClass = $log->subject_type ? class_basename($log->subject_type) : null;
/** Build initials for the actor avatar tile. */
$adminInitials = '๐ค'; // guest fallback
if ($log->admin && $log->admin->name) {
$adminInitials = collect(explode(' ', trim($log->admin->name)))
->filter()
->take(2)
->map(fn ($p) => mb_strtoupper(mb_substr($p, 0, 1)))
->implode('') ?: '๐ค';
}
$hasParsedChange = isset($parsed['old']) || isset($parsed['new']);
@endphp
@push('styles')
@endpush
@section('content')
@if ($log->admin) {{ $log->admin->name }} ยท {{ $log->admin->email }} @else {{ __('admin.logs.guest') }} ยท {{ __('admin.logs.guest_subtitle') }} @endif
{{ $actionLabel }} {{ $moduleLabel }} @if ($subjectName) ยท @if ($subjectUrl) {{ $subjectName }} @else {{ $subjectName }} @endif @endif
{{ __('admin.logs.fields.field_changed') }}: {{ $parsed['field_label'] ?? $dash }}
{{ __('admin.logs.fields.from') }}
{{ $parsed['old'] ?? __('admin.logs.fields.empty_value') }}
{{ __('admin.logs.fields.to') }}
{{ $parsed['new'] ?? __('admin.logs.fields.empty_value') }}
{{ $log->admin_id ?: $dash }}{{ $subjectClass }}#{{ $log->subject_id }}
@if ($subjectName)
{{ $log->ip_address ?: $dash }}#{{ $log->id }}{{ $log->description }}