From fdc51e03ace28bc01cdea306bab3215c04935b38 Mon Sep 17 00:00:00 2001 From: notCharles Date: Mon, 29 Apr 2024 21:34:27 -0400 Subject: [PATCH 1/5] Change colors --- app/Enums/ServerState.php | 6 +++--- app/Filament/Pages/Dashboard.php | 15 +++++---------- .../ServerResource/Pages/CreateServer.php | 1 - .../Resources/ServerResource/Pages/EditServer.php | 1 - app/Providers/Filament/AdminPanelProvider.php | 4 ++-- 5 files changed, 10 insertions(+), 17 deletions(-) diff --git a/app/Enums/ServerState.php b/app/Enums/ServerState.php index 9b28606eb..47ac64a90 100644 --- a/app/Enums/ServerState.php +++ b/app/Enums/ServerState.php @@ -27,11 +27,11 @@ enum ServerState: string { return match ($this) { self::Normal => 'primary', - self::Installing => 'info', + self::Installing => 'primary', self::InstallFailed => 'danger', self::ReinstallFailed => 'danger', - self::Suspended => 'danger', - self::RestoringBackup => 'info', + self::Suspended => 'warning', + self::RestoringBackup => 'primary', }; } } diff --git a/app/Filament/Pages/Dashboard.php b/app/Filament/Pages/Dashboard.php index 9e71692cb..5fac78153 100644 --- a/app/Filament/Pages/Dashboard.php +++ b/app/Filament/Pages/Dashboard.php @@ -46,22 +46,19 @@ class Dashboard extends Page CreateAction::make() ->label(trans('dashboard/index.sections.intro-developers.button_features')) ->icon('tabler-brand-github') - ->url('https://github.com/pelican-dev/panel/discussions', true) - ->color('primary'), + ->url('https://github.com/pelican-dev/panel/discussions', true), ], 'nodeActions' => [ CreateAction::make() ->label(trans('dashboard/index.sections.intro-first-node.button_label')) ->icon('tabler-server-2') - ->url(route('filament.admin.resources.nodes.create')) - ->color('primary'), + ->url(route('filament.admin.resources.nodes.create')), ], 'supportActions' => [ CreateAction::make() ->label(trans('dashboard/index.sections.intro-support.button_translate')) ->icon('tabler-language') - ->url('https://crowdin.com/project/pelican-dev', true) - ->color('info'), + ->url('https://crowdin.com/project/pelican-dev', true), CreateAction::make() ->label(trans('dashboard/index.sections.intro-support.button_donate')) ->icon('tabler-cash') @@ -72,13 +69,11 @@ class Dashboard extends Page CreateAction::make() ->label(trans('dashboard/index.sections.intro-help.button_docs')) ->icon('tabler-speedboat') - ->url('https://pelican.dev/docs', true) - ->color('info'), + ->url('https://pelican.dev/docs', true), CreateAction::make() ->label(trans('dashboard/index.sections.intro-help.button_discord')) ->icon('tabler-brand-discord') - ->url('https://discord.gg/pelican-panel', true) - ->color('primary'), + ->url('https://discord.gg/pelican-panel', true), ], ]; } diff --git a/app/Filament/Resources/ServerResource/Pages/CreateServer.php b/app/Filament/Resources/ServerResource/Pages/CreateServer.php index 3e0b95c5d..1ca378c19 100644 --- a/app/Filament/Resources/ServerResource/Pages/CreateServer.php +++ b/app/Filament/Resources/ServerResource/Pages/CreateServer.php @@ -41,7 +41,6 @@ class CreateServer extends CreateRecord ->label('Display Name') ->suffixAction(Forms\Components\Actions\Action::make('random') ->icon('tabler-dice-' . random_int(1, 6)) - ->color('primary') ->action(function (Forms\Set $set, Forms\Get $get) { $egg = Egg::find($get('egg_id')); $prefix = $egg ? str($egg->name)->lower()->kebab() . '-' : ''; diff --git a/app/Filament/Resources/ServerResource/Pages/EditServer.php b/app/Filament/Resources/ServerResource/Pages/EditServer.php index 46ea0fab0..fce2fe4c8 100644 --- a/app/Filament/Resources/ServerResource/Pages/EditServer.php +++ b/app/Filament/Resources/ServerResource/Pages/EditServer.php @@ -93,7 +93,6 @@ class EditServer extends EditRecord ->label('Display Name') ->suffixAction(Forms\Components\Actions\Action::make('random') ->icon('tabler-dice-' . random_int(1, 6)) - ->color('primary') ->action(function (Forms\Set $set, Forms\Get $get) { $egg = Egg::find($get('egg_id')); $prefix = $egg ? str($egg->name)->lower()->kebab() . '-' : ''; diff --git a/app/Providers/Filament/AdminPanelProvider.php b/app/Providers/Filament/AdminPanelProvider.php index 8ff2039e0..0e2abdac7 100644 --- a/app/Providers/Filament/AdminPanelProvider.php +++ b/app/Providers/Filament/AdminPanelProvider.php @@ -43,8 +43,8 @@ class AdminPanelProvider extends PanelProvider ->colors([ 'danger' => Color::Red, 'gray' => Color::Zinc, - 'info' => Color::Blue, - 'primary' => Color::Sky, + 'info' => Color::Sky, + 'primary' => Color::Blue, 'success' => Color::Green, 'warning' => Color::Amber, ]) From 27059e7b99096e6f2e907f93cebf75ebef6ce38d Mon Sep 17 00:00:00 2001 From: notCharles Date: Mon, 29 Apr 2024 21:34:49 -0400 Subject: [PATCH 2/5] Fix edit server docker image selection --- .../ServerResource/Pages/EditServer.php | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/app/Filament/Resources/ServerResource/Pages/EditServer.php b/app/Filament/Resources/ServerResource/Pages/EditServer.php index fce2fe4c8..7526a2595 100644 --- a/app/Filament/Resources/ServerResource/Pages/EditServer.php +++ b/app/Filament/Resources/ServerResource/Pages/EditServer.php @@ -166,7 +166,7 @@ class EditServer extends EditRecord return $state; } - $images = Egg::find($get('egg_id'))->docker_images ?? []; + $images = Egg::find($get('egg_id'))->docker_images; return !in_array($get('image'), $images); }) @@ -202,13 +202,7 @@ class EditServer extends EditRecord ->disabled(fn (Forms\Get $get) => $get('custom_image')) ->label('Docker Image') ->prefixIcon('tabler-brand-docker') - ->options(function (Forms\Get $get, Forms\Set $set) { - $images = Egg::find($get('egg_id'))->docker_images ?? []; - - $set('image', collect($images)->first()); - - return $images; - }) + ->options(fn (Forms\Get $get) => Egg::find($get('egg_id'))->docker_images) ->disabled(fn (Forms\Components\Select $component) => empty($component->getOptions())) ->selectablePlaceholder(false) ->columnSpan([ @@ -453,6 +447,10 @@ class EditServer extends EditRecord { return [ $this->getSaveFormAction(), + Actions\Action::make('console') + ->label('Console') + ->icon('tabler-terminal') + ->url(fn (Server $server) => "/server/$server->uuid_short"), Actions\DeleteAction::make('Force Delete') ->label('Force Delete') ->successRedirectUrl(route('filament.admin.resources.servers.index')) @@ -467,10 +465,10 @@ class EditServer extends EditRecord ]; } - protected function getFormActions(): array - { - return []; - } + // protected function getFormActions(): array + // { + // return []; + // } protected function mutateFormDataBeforeSave(array $data): array { From 26da0c5e74d60e2c82f4b9851650e85d80398f24 Mon Sep 17 00:00:00 2001 From: notCharles Date: Mon, 29 Apr 2024 21:35:16 -0400 Subject: [PATCH 3/5] Add server url to allocations relationship manager --- .../AllocationsRelationManager.php | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/app/Filament/Resources/NodeResource/RelationManagers/AllocationsRelationManager.php b/app/Filament/Resources/NodeResource/RelationManagers/AllocationsRelationManager.php index ffbfad49c..96d7c2b65 100644 --- a/app/Filament/Resources/NodeResource/RelationManagers/AllocationsRelationManager.php +++ b/app/Filament/Resources/NodeResource/RelationManagers/AllocationsRelationManager.php @@ -3,6 +3,7 @@ namespace App\Filament\Resources\NodeResource\RelationManagers; use App\Models\Allocation; +use App\Models\Server; use App\Services\Allocations\AssignmentService; use Filament\Forms; use Filament\Forms\Form; @@ -37,12 +38,19 @@ class AllocationsRelationManager extends RelationManager // All assigned allocations ->checkIfRecordIsSelectableUsing(fn (Allocation $allocation) => $allocation->server_id === null) - + ->searchable() ->columns([ - Tables\Columns\TextColumn::make('server.name')->label('Server')->icon('tabler-brand-docker'), - Tables\Columns\TextColumn::make('ip_alias')->label('Alias'), - Tables\Columns\TextColumn::make('ip')->label('IP'), - Tables\Columns\TextColumn::make('port')->label('Port'), + Tables\Columns\TextColumn::make('server.name') + ->label('Server') + ->icon('tabler-brand-docker') + ->url(fn (Allocation $allocation): string => $allocation->server ? route('filament.admin.resources.servers.edit', ['record' => $allocation->server]) : ''), + Tables\Columns\TextColumn::make('ip_alias') + ->label('Alias'), + Tables\Columns\TextColumn::make('ip') + ->label('IP'), + Tables\Columns\TextColumn::make('port') + ->searchable() + ->label('Port'), ]) ->filters([ // @@ -59,7 +67,6 @@ class AllocationsRelationManager extends RelationManager ->inlineLabel() ->ipv4() ->helperText("Usually your machine's public IP unless you are port forwarding.") - // ->selectablePlaceholder(false) ->required(), Forms\Components\TextInput::make('allocation_alias') ->label('Alias') From 80155a17e50d671bc8bd5c2eb563b874e22bf1c8 Mon Sep 17 00:00:00 2001 From: notCharles Date: Mon, 29 Apr 2024 21:42:02 -0400 Subject: [PATCH 4/5] remove add allocation btn --- .../RelationManagers/AllocationsRelationManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/Filament/Resources/ServerResource/RelationManagers/AllocationsRelationManager.php b/app/Filament/Resources/ServerResource/RelationManagers/AllocationsRelationManager.php index ef317b0dd..f0d6e8c59 100644 --- a/app/Filament/Resources/ServerResource/RelationManagers/AllocationsRelationManager.php +++ b/app/Filament/Resources/ServerResource/RelationManagers/AllocationsRelationManager.php @@ -57,7 +57,7 @@ class AllocationsRelationManager extends RelationManager ]) ->headerActions([ Tables\Actions\CreateAction::make()->label('Create Allocation'), - Tables\Actions\AssociateAction::make()->label('Add Allocation'), + //Tables\Actions\AssociateAction::make()->label('Add Allocation'), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ From 16a16dc390cba8f95934cbd47a53f73e132f3256 Mon Sep 17 00:00:00 2001 From: notCharles Date: Mon, 29 Apr 2024 22:13:54 -0400 Subject: [PATCH 5/5] Add console button --- .../ServerResource/Pages/EditServer.php | 28 +++++++++---------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/app/Filament/Resources/ServerResource/Pages/EditServer.php b/app/Filament/Resources/ServerResource/Pages/EditServer.php index 7526a2595..0fb5804d0 100644 --- a/app/Filament/Resources/ServerResource/Pages/EditServer.php +++ b/app/Filament/Resources/ServerResource/Pages/EditServer.php @@ -446,29 +446,29 @@ class EditServer extends EditRecord protected function getHeaderActions(): array { return [ - $this->getSaveFormAction(), - Actions\Action::make('console') - ->label('Console') - ->icon('tabler-terminal') - ->url(fn (Server $server) => "/server/$server->uuid_short"), + Actions\DeleteAction::make('Delete') + ->successRedirectUrl(route('filament.admin.resources.servers.index')) + ->color('danger') + ->after(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server)) + ->requiresConfirmation(), Actions\DeleteAction::make('Force Delete') ->label('Force Delete') ->successRedirectUrl(route('filament.admin.resources.servers.index')) ->color('danger') ->after(fn (Server $server) => resolve(ServerDeletionService::class)->withForce()->handle($server)) ->requiresConfirmation(), - Actions\DeleteAction::make('Delete') - ->successRedirectUrl(route('filament.admin.resources.servers.index')) - ->color('danger') - ->after(fn (Server $server) => resolve(ServerDeletionService::class)->handle($server)) - ->requiresConfirmation(), + Actions\Action::make('console') + ->label('Console') + ->icon('tabler-terminal') + ->url(fn (Server $server) => "/server/$server->uuid_short"), + $this->getSaveFormAction()->formId('form'), ]; } - // protected function getFormActions(): array - // { - // return []; - // } + protected function getFormActions(): array + { + return []; + } protected function mutateFormDataBeforeSave(array $data): array {