diff --git a/app/Livewire/CustomerProvisioning.php b/app/Livewire/CustomerProvisioning.php index b96b033..d5dcd9a 100644 --- a/app/Livewire/CustomerProvisioning.php +++ b/app/Livewire/CustomerProvisioning.php @@ -39,12 +39,21 @@ class CustomerProvisioning extends Component public function render() { $run = $this->currentRun(); - $active = $run !== null && $run->status !== ProvisioningRun::STATUS_COMPLETED; + + // Show the card while provisioning is in flight OR terminally failed; but + // only POLL while it can still change (terminal failed must not poll forever). + $show = $run !== null && $run->status !== ProvisioningRun::STATUS_COMPLETED; + $polling = $run !== null && in_array($run->status, [ + ProvisioningRun::STATUS_PENDING, + ProvisioningRun::STATUS_RUNNING, + ProvisioningRun::STATUS_WAITING, + ], true); return view('livewire.customer-provisioning', [ - 'active' => $active, + 'active' => $show, + 'polling' => $polling, 'failed' => $run?->status === ProvisioningRun::STATUS_FAILED, - 'steps' => $active ? $this->buildRunSteps($run) : [], + 'steps' => $show ? $this->buildRunSteps($run) : [], ]); } } diff --git a/resources/views/livewire/customer-provisioning.blade.php b/resources/views/livewire/customer-provisioning.blade.php index 6392a2e..16293af 100644 --- a/resources/views/livewire/customer-provisioning.blade.php +++ b/resources/views/livewire/customer-provisioning.blade.php @@ -1,4 +1,4 @@ -