diff --git a/resources/views/history-modal.blade.php b/resources/views/history-modal.blade.php index c0e0514..3c4df80 100644 --- a/resources/views/history-modal.blade.php +++ b/resources/views/history-modal.blade.php @@ -1,173 +1,281 @@ @use('Illuminate\Support\Str') +@use('Filament\Support\Facades\FilamentColor') -
- - + + +
@forelse($audits as $audit) -
-
-
+ @php + $old = $audit->old_values ?? []; + $new = $audit->new_values ?? []; + $keys = array_values(array_unique(array_merge(array_keys($old), array_keys($new)))); -
- -
-
- @if($audit->user) -
- {{ substr($audit->user->name ?? 'U', 0, 1) }} -
-
- - {{ $audit->user->name }} - - - {{ $audit->ip_address ?? 'IP Unknown' }} - -
- @else -
- -
- System Bot - @endif -
+ $event = $audit->event; + + $color = match ($event) { + 'created' => 'success', + 'deleted' => 'danger', + 'restored' => 'warning', + default => 'primary', + }; + + $icon = match ($event) { + 'created' => 'heroicon-o-plus-circle', + 'deleted' => 'heroicon-o-trash', + 'restored' => 'heroicon-o-arrow-path', + default => 'heroicon-o-pencil-square', + }; + + $iconBgClass = match ($event) { + 'created' => 'bg-success-500 dark:bg-success-600', + 'deleted' => 'bg-danger-500 dark:bg-danger-600', + 'restored' => 'bg-warning-500 dark:bg-warning-600', + default => 'bg-primary-500 dark:bg-primary-600', + }; + + $connectorClass = match ($event) { + 'created' => 'bg-success-500 dark:bg-success-600', + 'deleted' => 'bg-danger-500 dark:bg-danger-600', + 'restored' => 'bg-warning-500 dark:bg-warning-600', + default => 'bg-primary-500 dark:bg-primary-600', + }; + @endphp + +
+ + {{-- Connector Line --}} + @if (!$loop->last) +
+ @endif + +
-
- - {{ $audit->event }} - - - {{ $audit->created_at->format('d M H:i') }} - + {{-- MARK: Timeline Icon Dot --}} +
+
+
- @php - $old = $audit->old_values ?? []; - $new = $audit->new_values ?? []; - $keys = array_unique(array_merge(array_keys($old), array_keys($new))); - @endphp - -
- @if(empty($keys)) -
- No changes detected explicitly. -
- @else -
-

Original

-

Changes

-
+ {{-- MARK: Card Content --}} +
-
- @foreach($keys as $key) -
-
- - {{ Str::headline($key) }} - - - @if(array_key_exists($key, $old)) -
- @if(is_array($old[$key])) - {{ json_encode($old[$key]) }} - @elseif(is_null($old[$key])) - null - @elseif($old[$key] === '') - empty - @else - {{ $old[$key] }} - @endif -
+
+ + {{-- MARK: Header --}} +
+ +
+ @if ($audit->user) + {{-- User avatar --}} +
+ @if ($audit->user?->getFilamentAvatarUrl()) + {{ $audit->user->name }} @else - +
+ {{ mb_substr($audit->user->name ?? 'U', 0, 1) }} +
@endif
-
-
- +
+
+ {{ $audit->user->name }}
+
+ {{ $audit->ip_address ?? 'IP Unknown' }} +
+
+ @else + {{-- System icon --}} +
+
+ +
+
+ +
+ System Bot +
+ @endif +
+ +
+ {{-- MARK: Badge --}} + + {{ Str::upper($audit->event) }} + + + + + {{-- Collapse Toggle --}} + +
+ +
+ + {{-- MARK: Inside Body --}} +
+
+ + @if (empty($keys)) +
+

+ No changes detected. +

+
- - {{ Str::headline($key) }} - - - @if(array_key_exists($key, $new)) -
- @if(is_array($new[$key])) - {{ json_encode($new[$key]) }} - @elseif(is_null($new[$key])) - null - @elseif($new[$key] === '') - empty - @else - {{ $new[$key] }} - @endif + @else + + {{-- MARK: Table Structure --}} +
+ + {{-- Header --}} +
+
+ Original
- @else - - @endif +
+ Changes +
+
+ + {{-- Rows --}} +
+ @foreach ($keys as $key) +
+ + {{-- Old value --}} +
+
+ {{ Str::headline($key) }} +
+ + @if (array_key_exists($key, $old)) + + @if (is_array($old[$key])) + {{ json_encode($old[$key]) }} + @elseif(is_null($old[$key])) + null + @elseif($old[$key] === '') + empty + @else + {{ $old[$key] }} + @endif + + @else + + @endif +
+ + {{-- New value --}} +
+ {{-- Arrow indicator - centered vertically --}} +
+ +
+ +
+ {{ Str::headline($key) }} +
+ + @if (array_key_exists($key, $new)) + + @if (is_array($new[$key])) + {{ json_encode($new[$key]) }} + @elseif(is_null($new[$key])) + null + @elseif($new[$key] === '') + empty + @else + {{ $new[$key] }} + @endif + + @else + + Deleted + + @endif +
+ +
+ @endforeach +
+
-
- @endforeach + @endif +
- @endif + +
+
+ @empty -
-
- + {{-- MARK: Empty state --}} +
+ +
+
+ +
+ +

+ No audit history found +

+ +

+ Changes will appear here once you edit this record. +

-

No audit history found.

-

Changes will appear here once you edit this record.

+
@endforelse -
\ No newline at end of file + +