latest()->limit(50)->get(); $needle = trim($this->q); if ($needle === '') { return $events; } $needle = mb_strtolower($needle); return $events->filter(function (AuditEvent $e) use ($needle): bool { $haystack = mb_strtolower(implode(' ', array_filter([ $e->actor, $e->action, $e->target, $e->server?->name, ]))); return str_contains($haystack, $needle); })->values(); } public function render() { return view('livewire.audit.index', [ 'events' => $this->events(), ])->title(__('audit.title')); } }