protected function getHeaderActions(): array
{
/** @var Server $server */
$server = Filament::getTenant();
return [
Action::make('start')
->color('primary')
->action(fn () => $this->dispatch('setServerState', state: 'start'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'starting' || $server->retrieveStatus() === 'running'),
Action::make('restart')
->color('gray')
->action(fn () => $this->dispatch('setServerState', state: 'restart'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'offline'),
Action::make('stop')
->label(fn () => $server->retrieveStatus() === 'stopping' ? 'kill' : 'stop')
->color('danger')
->action(fn () => $this->dispatch('setServerState', state: $server->retrieveStatus() === 'stopping' ? 'kill' : 'stop'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'offline'),
];
}
protected function getHeaderActions(): array
{
/** @var Server $server */
$server = Filament::getTenant();
return [
Action::make('start')
->color('primary')
->action(fn () => $this->dispatch('setServerState', state: 'start'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'starting' || $server->retrieveStatus() === 'running'),
Action::make('restart')
->color('gray')
->action(fn () => $this->dispatch('setServerState', state: 'restart'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'offline'),
Action::make('stop')
->label(fn () => $server->retrieveStatus() === 'stopping' ? 'kill' : 'stop')
->color('danger')
->action(fn () => $this->dispatch('setServerState', state: $server->retrieveStatus() === 'stopping' ? 'kill' : 'stop'))
->disabled(fn () => $server->isInConflictState() || $server->retrieveStatus() === 'offline'),
];
}