session(); $user = $request->user(); return Inertia::render('settings/Profile', [ 'mustVerifyEmail' => $user instanceof MustVerifyEmail, 'status' => $session->get('status'), ]); } /** * Update the user's profile information. */ public function update(ProfileUpdateRequest $request): RedirectResponse { $validated = $request->validated(); $user = $request->user(); $user->fill([ 'name' => Arr::get($validated, 'name'), 'email' => Arr::get($validated, 'email'), ]); $nameChanged = $user->isDirty('name'); if ($user->isDirty('email')) { $user->email_verified_at = null; } $user->save(); $avatar = Arr::get($validated, 'avatar'); if ($avatar instanceof UploadedFile) { $this->avatars->upload($user, $avatar); } elseif (! $user->hasUploadedAvatar() && ($nameChanged || blank($user->avatar_path))) { $this->avatars->generate($user); } return to_route('profile.edit'); } public function destroyAvatar(Request $request): RedirectResponse { $this->avatars->generate($request->user()); return to_route('profile.edit'); } /** * Delete the user's profile. */ public function destroy(ProfileDeleteRequest $request): RedirectResponse { $user = $request->user(); $session = $request->session(); Auth::logout(); $user->delete(); $session->invalidate(); $session->regenerateToken(); return redirect('/'); } }