some progress: users slugs, bookmarks page, upvotes page, design

This commit is contained in:
Doar Mihai
2026-02-14 17:06:03 +02:00
parent 67de095a03
commit cf6310dc7e
16 changed files with 419 additions and 71 deletions
@@ -67,6 +67,7 @@ class RegisterController extends Controller
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
'slug' => User::generateUniqueSlug($data['name']),
]);
}
}
@@ -10,6 +10,24 @@ use Illuminate\Support\Facades\Auth;
class BookmarkController extends Controller
{
/**
* Display the user's bookmarked products.
*/
public function index()
{
$user = Auth::user();
$bookmarks = $user->bookmarks()
->with(['product.category', 'product.user'])
->whereHas('product', function ($query) {
$query->approved();
})
->latest()
->paginate(12);
return view('bookmarks.index', compact('bookmarks'));
}
/**
* Toggle bookmark for a product.
*/
@@ -73,6 +73,11 @@ class ProfileController extends Controller
$validated['avatar'] = $avatarName;
}
// Regenerate slug if name changed
if ($request->name !== $user->name) {
$validated['slug'] = User::generateUniqueSlug($request->name);
}
// Update user profile
$user->update($validated);
+18
View File
@@ -10,6 +10,24 @@ use Illuminate\Support\Facades\Auth;
class UpvoteController extends Controller
{
/**
* Display the user's upvoted products.
*/
public function index()
{
$user = Auth::user();
$upvotes = $user->upvotes()
->with(['product.category', 'product.user'])
->whereHas('product', function ($query) {
$query->approved();
})
->latest()
->paginate(12);
return view('upvotes.index', compact('upvotes'));
}
/**
* Toggle upvote for a product.
*/