Laravel 13 + Filament 5 admin panel and REST API for a non-profit developer collective, backed by the Pireon OAuth identity server. The public site is a separate, server-rendered application consuming /api/public/v1. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
58 lines
2.8 KiB
PHP
58 lines
2.8 KiB
PHP
<x-filament-panels::page>
|
|
@php($groups = $this->groups())
|
|
|
|
@if ($groups->isEmpty())
|
|
<div class="rounded-xl border border-gray-200 p-6 text-center dark:border-white/10">
|
|
<p class="text-sm text-gray-500 dark:text-gray-400">
|
|
{{ __('panel.trash.empty') }}
|
|
</p>
|
|
</div>
|
|
@else
|
|
@foreach ($groups as $group)
|
|
<x-filament::section :heading="$group['label']">
|
|
<x-slot name="headerEnd">
|
|
<x-filament::badge color="gray">{{ $group['records']->count() }}</x-filament::badge>
|
|
</x-slot>
|
|
|
|
<ul class="divide-y divide-gray-100 dark:divide-white/5">
|
|
@foreach ($group['records'] as $record)
|
|
<li class="flex flex-wrap items-center justify-between gap-3 py-2.5">
|
|
<div class="min-w-0">
|
|
<p class="truncate text-sm font-medium text-gray-800 dark:text-gray-100">
|
|
{{ $this->labelFor($record) }}
|
|
</p>
|
|
<p class="text-xs text-gray-500 dark:text-gray-400">
|
|
{{ __('panel.trash.deleted_at', ['when' => $record->deleted_at?->diffForHumans()]) }}
|
|
</p>
|
|
</div>
|
|
|
|
<div class="flex shrink-0 items-center gap-2">
|
|
<x-filament::button
|
|
size="sm"
|
|
color="success"
|
|
icon="heroicon-o-arrow-uturn-left"
|
|
wire:click="restoreRecord(@js($group['model']), @js($record->getKey()))"
|
|
>
|
|
{{ __('panel.trash.restore') }}
|
|
</x-filament::button>
|
|
|
|
{{-- Erasing is the one thing here that cannot be
|
|
undone, so it asks first. --}}
|
|
<x-filament::button
|
|
size="sm"
|
|
color="danger"
|
|
icon="heroicon-o-trash"
|
|
wire:click="eraseRecord(@js($group['model']), @js($record->getKey()))"
|
|
wire:confirm="{{ __('panel.trash.erase_confirm') }}"
|
|
>
|
|
{{ __('panel.trash.erase') }}
|
|
</x-filament::button>
|
|
</div>
|
|
</li>
|
|
@endforeach
|
|
</ul>
|
|
</x-filament::section>
|
|
@endforeach
|
|
@endif
|
|
</x-filament-panels::page>
|