form->validate(); try { $data = $this->form->all(); $data['name'] = $data['client_name']; // 4. Lida com o upload do arquivo de imagem if ($this->form->profile_image_path) { $path = $this->form->profile_image_path->store('client_logos', 'public'); $data['profile_image_path'] = $path; } // 5. Cria o cliente no banco de dados Client::create($data); // 6. Despacha um evento para atualizar outros componentes (ex: o grid de clientes) $this->dispatch('client-added'); // (Opcional) Envia uma notificação de sucesso $this->dispatch('notify', message: 'Cliente adicionado com sucesso!'); } catch (\Exception $e) { dd($e); $this->dispatch('notify', message: 'Ocorreu um erro inesperado ao salvar.', type: 'error'); } // 3. Pega todos os dados validados } /** * Renderiza a view do modal. */ public function render() { return view('livewire.admin.add-client'); } }