user(); $stats = [ 'projects' => PromptProject::where('user_id', $user->id)->count(), 'generations' => PromptGeneration::where('user_id', $user->id)->count(), 'tokens' => PromptGeneration::where('user_id', $user->id)->sum('tokens_used') ?? 0, ]; return view('profile.index', compact('user', 'stats')); } public function edit(): View { $user = auth()->user(); return view('profile.edit', compact('user')); } public function update(Request $request): RedirectResponse { $user = auth()->user(); $validated = $request->validate([ 'name' => 'required|string|max:255', 'email' => 'required|email|max:255|unique:users,email,' . $user->id, 'avatar' => 'nullable|image|mimes:jpeg,png,jpg,gif|max:2048', ]); if ($request->hasFile('avatar')) { $path = $request->file('avatar')->store('avatars', 'public'); $user->avatar = $path; } $user->name = $validated['name']; $user->email = $validated['email']; $user->save(); return redirect()->route('profile.index') ->with('success', 'Perfil atualizado com sucesso.'); } }