feat: gestión de amigos y mejora visual del dropdown de búsqueda
- FriendshipController: carga también amigos aceptados con su friendship - friendships/index: tabs con 'Mis amigos' (tabla con Mensaje/Quitar) y 'Solicitudes' - Notificaciones de solicitud abren directamente la pestaña de solicitudes (#solicitudes) - Dropdown de búsqueda: bordes redondeados, sombra suave, margen superior, hover en items, etiqueta de sección y separadores finos Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -11,14 +11,25 @@ class FriendshipController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
$requests = auth()->user()
|
||||
->receivedFriendRequests()
|
||||
$me = auth()->user();
|
||||
|
||||
$requests = $me->receivedFriendRequests()
|
||||
->where('status', 'pending')
|
||||
->with('sender')
|
||||
->latest()
|
||||
->get();
|
||||
|
||||
return view('friendships.index', compact('requests'));
|
||||
// Amigos aceptados (en ambas direcciones)
|
||||
$friendIds = $me->friendIds();
|
||||
$friends = User::whereIn('id', $friendIds)
|
||||
->orderBy('name')
|
||||
->get()
|
||||
->map(function (User $user) use ($me) {
|
||||
$user->friendship = $me->friendshipWith($user);
|
||||
return $user;
|
||||
});
|
||||
|
||||
return view('friendships.index', compact('requests', 'friends'));
|
||||
}
|
||||
|
||||
public function send(User $user)
|
||||
@@ -44,7 +55,7 @@ class FriendshipController extends Controller
|
||||
title: $me->name . ' te envió una solicitud de amistad',
|
||||
icon: 'fa-user-plus',
|
||||
color: 'primary',
|
||||
url: route('friendships.index'),
|
||||
url: route('friendships.index') . '#solicitudes',
|
||||
);
|
||||
|
||||
return back()->with('success', 'Solicitud de amistad enviada.');
|
||||
@@ -108,7 +119,7 @@ class FriendshipController extends Controller
|
||||
title: $me->name . ' te envió una solicitud de amistad',
|
||||
icon: 'fa-user-plus',
|
||||
color: 'primary',
|
||||
url: route('friendships.index'),
|
||||
url: route('friendships.index') . '#solicitudes',
|
||||
);
|
||||
|
||||
return response()->json(['status' => 'pending']);
|
||||
|
||||
Reference in New Issue
Block a user