searchable(false) ->checkIfRecordIsSelectableUsing(fn (Node $node) => $node->servers_count <= 0) ->columns([ TextColumn::make('uuid') ->label('UUID') ->searchable() ->hidden(), NodeHealthColumn::make('health')->label(trans('admin/node.table.health')), TextColumn::make('name') ->label(trans('admin/node.table.name')) ->icon('tabler-server-2') ->sortable() ->searchable(), TextColumn::make('fqdn') ->visibleFrom('md') ->label(trans('admin/node.table.address')) ->icon('tabler-network') ->sortable() ->searchable(), IconColumn::make('scheme') ->visibleFrom('xl') ->label('SSL') ->trueIcon('tabler-lock') ->falseIcon('tabler-lock-open-off') ->state(fn (Node $node) => $node->scheme === 'https'), IconColumn::make('public') ->label(trans('admin/node.table.public')) ->visibleFrom('lg') ->trueIcon('tabler-eye-check') ->falseIcon('tabler-eye-cancel'), TextColumn::make('servers_count') ->visibleFrom('sm') ->counts('servers') ->label(trans('admin/node.table.servers')) ->sortable() ->icon('tabler-brand-docker'), ]) ->actions([ EditAction::make(), ]) ->emptyStateIcon('tabler-server-2') ->emptyStateDescription('') ->emptyStateHeading(trans('admin/node.no_nodes')) ->emptyStateActions([ CreateAction::make('create') ->button(), ]); } protected function getHeaderActions(): array { return [ Actions\CreateAction::make() ->hidden(fn () => Node::count() <= 0), ]; } }