user = $user; $this->name = $user->name; } public function render() { return view('livewire.pages.profile')->title($this->user->name); } public function rules() { return [ 'avatar' => [ 'nullable', 'image', 'max:10240', ], 'name' => [ 'required', 'string', 'min:2', 'max:80', Rule::unique('users', 'name')->ignore($this->user), ], ]; } public function updated($name, $value) { if (Auth::id() != $this->user->id) { abort(401); } $this->validate(); $this->user->update([$name => $value]); if (isset($this->avatar)) { $this->user->avatarExt = $this->avatar->getClientOriginalExtension(); $this->user->save(); $this->avatar->storeAs('avatars', $this->user->id); return $this->redirect("/profiles/{$this->user->id}"); } } }