diff --git a/app/Filament/Admin/Resources/Servers/Pages/ListServers.php b/app/Filament/Admin/Resources/Servers/Pages/ListServers.php index ce9918c925..2cd685ec6b 100644 --- a/app/Filament/Admin/Resources/Servers/Pages/ListServers.php +++ b/app/Filament/Admin/Resources/Servers/Pages/ListServers.php @@ -16,6 +16,7 @@ use Filament\Resources\Pages\ListRecords; use Filament\Tables\Columns\SelectColumn; use Filament\Tables\Columns\TextColumn; +use Filament\Tables\Columns\ViewColumn; use Filament\Tables\Grouping\Group; use Filament\Tables\Table; use Illuminate\Database\Eloquent\Builder; @@ -37,12 +38,9 @@ public function table(Table $table): Table Group::make('egg.name')->getDescriptionFromRecordUsing(fn (Server $server) => str($server->egg->description)->limit(150)), ]) ->columns([ - TextColumn::make('condition') + ViewColumn::make('condition') ->label(trans('admin/server.condition')) - ->default('unknown') - ->badge() - ->icon(fn (Server $server) => $server->condition->getIcon()) - ->color(fn (Server $server) => $server->condition->getColor()), + ->view('livewire.columns.server-condition-column'), TextColumn::make('uuid') ->hidden() ->label(trans('admin/server.uuid')) diff --git a/app/Filament/App/Resources/Servers/Pages/ListServers.php b/app/Filament/App/Resources/Servers/Pages/ListServers.php index 844a79d058..7a4bff60e6 100644 --- a/app/Filament/App/Resources/Servers/Pages/ListServers.php +++ b/app/Filament/App/Resources/Servers/Pages/ListServers.php @@ -136,6 +136,7 @@ public function table(Table $table): Table $defaultPerPage = in_array($storedPerPage, $pageOptions, true) ? $storedPerPage : ($usingGrid ? 10 : 20); return $table + ->deferLoading(!$usingGrid) ->paginated($pageOptions) ->defaultPaginationPageOption($defaultPerPage) ->query(fn () => $baseQuery) diff --git a/app/Livewire/ServerCondition.php b/app/Livewire/ServerCondition.php new file mode 100644 index 0000000000..ea400f207b --- /dev/null +++ b/app/Livewire/ServerCondition.php @@ -0,0 +1,26 @@ + $this->server->condition, + ]); + } + + public function placeholder(): View + { + return view('livewire.server-condition-placeholder'); + } +} diff --git a/resources/views/livewire/columns/server-condition-column.blade.php b/resources/views/livewire/columns/server-condition-column.blade.php new file mode 100644 index 0000000000..b4529f6bbd --- /dev/null +++ b/resources/views/livewire/columns/server-condition-column.blade.php @@ -0,0 +1,3 @@ +