feat: tambah database notifications dan widget activity log di dashboard

This commit is contained in:
2026-04-03 07:57:40 +07:00
parent 060d669d5c
commit 3a0373bc44
7 changed files with 152 additions and 5 deletions
@@ -0,0 +1,39 @@
<?php
namespace App\Filament\Widgets;
use App\Models\ActivityLog;
use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Table;
use Filament\Widgets\TableWidget as BaseWidget;
use Illuminate\Database\Eloquent\Builder;
class ActivityLogWidget extends BaseWidget
{
protected static ?int $sort = 2;
protected int|string|array $columnSpan = 'full';
protected static ?string $heading = 'Aktivitas Terbaru';
public function table(Table $table): Table
{
return $table
->query(ActivityLog::with('user')->latest()->limit(15))
->columns([
TextColumn::make('created_at')->label('Waktu')
->dateTime('d M Y H:i')->sortable(),
TextColumn::make('user.name')->label('Oleh')->default('Sistem'),
TextColumn::make('action')->label('Aksi')->badge()
->color(fn ($state) => match ($state) {
'created' => 'success',
'verified' => 'info',
'approved' => 'success',
'rejected' => 'danger',
'status_changed' => 'warning',
'voted' => 'info',
default => 'gray',
}),
TextColumn::make('description')->label('Keterangan')->wrap(),
])
->paginated(false);
}
}