user(); $this->name = $user->name; $this->email = $user->email; } public function updateProfile(): void { $user = auth()->user(); $validated = $this->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'email', 'max:255', Rule::unique('users', 'email')->ignore($user->id)], ]); $user->update([ 'name' => $validated['name'], 'email' => $validated['email'], ]); session()->flash('profile_success', 'Profilo aggiornato con successo.'); } public function updatePassword(): void { // `current_password` verifica che la password attuale digitata combaci // con quella dell'utente loggato prima di consentire il cambio. $this->validate([ 'current_password' => ['required', 'current_password'], 'password' => ['required', 'string', 'min:8', 'confirmed'], ]); // Il cast `hashed` sul modello User cifra il valore in fase di salvataggio. auth()->user()->update([ 'password' => $this->password, ]); $this->reset(['current_password', 'password', 'password_confirmation']); session()->flash('password_success', 'Password aggiornata con successo.'); } public function render() { return view('livewire.profile', [ 'user' => auth()->user(), ]); } }