Auth::user(), ]); } /** * Memperbarui informasi profil pengguna. */ public function update(Request $request) { $user = $request->user(); $request->validate([ 'name' => ['required', 'string', 'max:255'], 'email' => ['required', 'string', 'email', 'max:255', Rule::unique('users')->ignore($user)], 'foto' => ['nullable', 'image', 'mimes:jpg,jpeg,png,gif,bmp,webp', 'max:2048'], ]); $user->fill($request->only('name', 'email')); if ($user->isDirty('email')) { $user->email_verified_at = null; } if ($request->hasFile('foto')) { // Hapus foto lama jika ada if ($user->foto && Storage::disk('public')->exists($user->foto)) { Storage::disk('public')->delete($user->foto); } $user->foto = $request->file('foto')->store('profile-photos', 'public'); } $user->save(); return Redirect::route('profile')->with('status', 'profile-updated'); } /** * Memperbarui password pengguna. */ public function updatePassword(Request $request) { $validated = $request->validate([ 'current_password' => ['required', 'current_password'], 'password' => ['required', Password::defaults(), 'confirmed'], ]); $request->user()->update([ 'password' => Hash::make($validated['password']), ]); Auth::logout(); $request->session()->invalidate(); $request->session()->regenerateToken(); return Redirect::route('login')->with('status', 'Password berhasil diubah. Silakan login kembali dengan kata sandi baru Anda.'); } }