columns([ TextColumn::make('name') ->label(__('career.name')) ->searchable() ->sortable(), TextColumn::make('email') ->label(__('career.email')) ->searchable() ->sortable(), TextColumn::make('phone') ->label(__('career.phone')) ->searchable(), TextColumn::make('status') ->label(__('career.status')) ->badge() ->color(fn (string $state): string => match ($state) { 'pending' => 'gray', 'reviewed' => 'info', 'rejected' => 'danger', 'accepted' => 'success', default => 'gray', }), TextColumn::make('created_at') ->label(__('career.created_at')) ->dateTime('d.m.Y H:i') ->sortable(), ]) ->filters([ SelectFilter::make('status') ->label(__('career.status')) ->options([ 'pending' => 'Pending', 'reviewed' => 'Reviewed', 'rejected' => 'Rejected', 'accepted' => 'Accepted', ]), ]) ->actions([ Action::make('download_cv') ->label(__('career.download_cv')) ->icon('heroicon-o-arrow-down-tray') ->url(fn ($record) => Storage::disk('public')->url($record->cv_path)) ->openUrlInNewTab(), DeleteAction::make(), ]) ->bulkActions([ BulkActionGroup::make([ DeleteBulkAction::make(), ]), ]) ->defaultSort('created_at', 'desc'); } }