diff --git a/app/Http/Livewire/PaymentMethods/UpdateDefaultMethod.php b/app/Http/Livewire/PaymentMethods/UpdateDefaultMethod.php new file mode 100644 index 000000000000..a90d1c1b4ccb --- /dev/null +++ b/app/Http/Livewire/PaymentMethods/UpdateDefaultMethod.php @@ -0,0 +1,56 @@ +company = $this->client->company; + + MultiDB::setDb($this->company->db); + + $this->is_disabled = $this->token->is_default; + } + + public function makeDefault(): void + { + if ($this->token->is_default) { + return; + } + + $this->client->gateway_tokens()->update(['is_default' => 0]); + + $this->token->is_default = 1; + $this->token->save(); + + $this->emit('UpdateDefaultMethod::method-updated'); + } + + public function render() + { + return render('components.livewire.update-default-payment-method'); + } +} diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php index ac3d8f0e1a31..231537067f77 100644 --- a/resources/lang/en/texts.php +++ b/resources/lang/en/texts.php @@ -4268,6 +4268,9 @@ $LANG = array( 'company_import_failure_body' => 'There was an error importing the company data, the error message was:', 'recurring_invoice_due_date' => 'Due Date', 'amount_cents' => 'Amount in pennies,pence or cents', + 'default_payment_method_label' => 'Default Payment Method', + 'default_payment_method' => 'Make this your preferred way of paying.', + 'already_default_payment_method' => 'This is your preferred way of paying.', ); return $LANG; diff --git a/resources/views/portal/ninja2020/components/livewire/update-default-payment-method.blade.php b/resources/views/portal/ninja2020/components/livewire/update-default-payment-method.blade.php new file mode 100644 index 000000000000..4bd64bed3770 --- /dev/null +++ b/resources/views/portal/ninja2020/components/livewire/update-default-payment-method.blade.php @@ -0,0 +1,25 @@ +
+ {{ $token->is_default ? ctrans('texts.already_default_payment_method') : ctrans('texts.default_payment_method') }} +
+