recordTitleAttribute('servers') ->emptyStateDescription(trans('admin/egg.no_servers')) ->emptyStateHeading(trans('admin/egg.no_servers_help')) ->searchable(false) ->heading(trans('admin/egg.servers')) ->columns([ TextColumn::make('user.username') ->label('Owner') ->icon('tabler-user') ->url(fn (Server $server): string => route('filament.admin.resources.users.edit', ['record' => $server->user])) ->sortable(), TextColumn::make('name') ->label(trans('admin/server.name')) ->icon('tabler-brand-docker') ->url(fn (Server $server): string => route('filament.admin.resources.servers.edit', ['record' => $server])) ->sortable(), TextColumn::make('node.name') ->icon('tabler-server-2') ->url(fn (Server $server): string => route('filament.admin.resources.nodes.edit', ['record' => $server->node])), TextColumn::make('image') ->label(trans('admin/server.docker_image')), SelectColumn::make('allocation.id') ->label(trans('admin/server.primary_allocation')) ->disabled() ->options(fn (Server $server) => $server->allocations->take(1)->mapWithKeys(fn ($allocation) => [$allocation->id => $allocation->address])) ->placeholder('None') ->sortable(), ]); } }