Improve spinners between loads

This commit is contained in:
David Bomba 2024-07-02 12:35:28 +10:00
parent 4a3f8278ea
commit e1be33314e
2 changed files with 19 additions and 15 deletions

View File

@ -52,8 +52,10 @@ class PaymentMethod extends Component
if(count($this->methods) == 1) {
$this->dispatch('payment-method-selected', company_gateway_id: $this->methods[0]['company_gateway_id'], gateway_type_id: $this->methods[0]['gateway_type_id'], amount: $this->invoice->balance);
}
else {
$this->isLoading = false;
$this->dispatch('loadingCompleted');
}
}
@ -61,9 +63,7 @@ class PaymentMethod extends Component
public function render()
{
//If there is only one payment method, skip display and push straight to the form!!
return render('components.livewire.payment_method-flow2', ['methods' => $this->methods, 'amount' => $this->invoice->balance]);
}
}

View File

@ -1,4 +1,4 @@
<div class="flex flex-col space-y-4 p-4" x-data="{ isLoading: true }">
<div class="flex flex-col space-y-4 p-4" x-data="{ isLoading: @entangle('isLoading') }">
<div x-show="isLoading" class="flex items-center justify-center min-h-screen">
<svg class="animate-spin h-10 w-10 text-gray-500" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
@ -25,6 +25,10 @@
@script
<script>
Livewire.on('loadingCompleted', () => {
isLoading = false;
});
const buttons = document.querySelectorAll('.payment-method');
buttons.forEach(button => {