user(); return $user instanceof PlatformUser && $user->hasCapability(PlatformCapabilities::CONSOLE_VIEW); } public function mount(): void { $this->mountInteractsWithTable(); } public function table(Table $table): Table { return $table ->defaultSort('recorded_at', 'desc') ->query(function (): Builder { return AuditLog::query() ->where(function (Builder $query): void { $query ->where('action', 'platform.auth.login') ->orWhere('action', 'like', 'platform.break_glass.%'); }); }) ->columns([ TextColumn::make('recorded_at') ->label('Recorded') ->since(), TextColumn::make('action') ->label('Action') ->searchable(), TextColumn::make('status') ->badge() ->color(fn (?string $state): string => $state === 'failure' ? 'danger' : 'success'), TextColumn::make('actor_email') ->label('Actor') ->formatStateUsing(fn (?string $state): string => $state ?: 'Unknown'), ]) ->emptyStateHeading('No access logs found') ->emptyStateDescription('Platform login and break-glass events will appear here.'); } }