$request->user() ]); } public function settings(Request $request): View { return view('private/profile/settings', [ 'user' => $request->user(), 'languages' => Lang::toCollection()->pluck(value: 'title', key: 'value')->toArray(), 'timezone' => Helpers::getTimeZoneList()->toArray(), ]); } public function update(UpdateRequest $request): RedirectResponse { $data = $request->getDto(); $user = $request->user(); $result = $this->profileService->update($data, $user); if ($result->isError()) { return redirect()->back()->withInput()->withErrors($result->getMessage()); } return redirect()->route('profile.edit')->withSuccess($result->getMessage()); } public function updatePassword(UpdatePasswordRequest $request): RedirectResponse { $data = $request->getDto(); $user = $request->user(); $result = $this->profileService->updatePassword($data, $user); if ($result->isError()) { return redirect()->back()->withInput()->withErrors($result->getMessage()); } return redirect()->route('profile.edit')->withSuccess($result->getMessage()); } public function updateSettings(UpdateSettingsRequest $request): RedirectResponse { $data = $request->getDto(); $user = $request->user(); $result = $this->profileService->updateSettings($data, $user); if ($result->isError()) { return redirect()->back()->withInput()->withErrors($result->getMessage()); } return redirect()->route('profile.settings')->withSuccess($result->getMessage()); } }