dispatch('purchase.context', property: 'contact', value: auth()->guard('contact')->user()); $this->dispatch('purchase.next'); } public function handleSubmit() { $data = $this->validate([ 'contact_first_name' => 'required', 'contact_last_name' => 'required', 'contact_email' => 'required|email:rfc', ]); $contact = auth()->guard('contact'); /** @var \App\Models\ClientContact $contact */ $contact->user()->update([ 'first_name' => $data['contact_first_name'], 'last_name' => $data['contact_last_name'], 'email' => $data['contact_email'], ]); $this->dispatch('purchase.context', property: 'contact', value: auth()->guard('contact')->user()); $this->dispatch('purchase.next'); } public function mount(): void { $this->contact_first_name = $this->context['contact']['first_name'] ?? ''; $this->contact_last_name = $this->context['contact']['last_name'] ?? ''; $this->contact_email = $this->context['contact']['email'] ?? ''; } public function render() { /** @var \App\Models\CompanyGateway $gateway */ $gateway = CompanyGateway::find($this->context['form']['company_gateway_id']); $countries = Cache::get('countries'); if ($gateway === null) { return view('billing-portal.v3.rff-basic'); } return view('billing-portal.v3.rff', [ 'gateway' => $gateway->driver( auth()->guard('contact')->user()->client ), 'countries' => $countries, 'company' => $gateway->company, ]); } }