diff --git a/app/Http/Controllers/FriendshipController.php b/app/Http/Controllers/FriendshipController.php index 1cb4dfd9..c8714b44 100644 --- a/app/Http/Controllers/FriendshipController.php +++ b/app/Http/Controllers/FriendshipController.php @@ -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']); diff --git a/resources/views/friendships/index.blade.php b/resources/views/friendships/index.blade.php index 4fb46421..d40b0e86 100644 --- a/resources/views/friendships/index.blade.php +++ b/resources/views/friendships/index.blade.php @@ -1,47 +1,156 @@ @extends('layouts.landing') -@section('title', 'Solicitudes de Amistad') +@section('title', 'Amigos') @section('content') -
-
-
- Solicitudes de amistad +
+ + @if(session('success')) +
+ {{ session('success') }} +
-
- @forelse($requests as $friendship) -
- - + @endif + +
+ + {{-- Tabs --}} + + +
+ + {{-- ── Tab: Mis amigos ── --}} +
+ @if($friends->isEmpty()) +
+ +

Aún no tienes amigos agregados.

+ + Buscar personas -
{{ $friendship->created_at->diffForHumans() }}
-
-
- @csrf - -
-
- @csrf @method('DELETE') - -
+ @else +
+ + + + + + + + + + + @foreach($friends as $friend) + + + + + + + @endforeach + +
NombreAmigos desdeAcciones
+ + + + + + {{ $friend->name }} {{ $friend->apellidoPaterno }} + +
{{ $friend->email }}
+
+ {{ $friend->friendship->updated_at->format('d M Y') }} + + + + Mensaje + +
+ @csrf @method('DELETE') + +
+
-
- @empty -
- - No tienes solicitudes pendientes. -
- @endforelse + @endif +
+ + {{-- ── Tab: Solicitudes pendientes ── --}} +
+ @forelse($requests as $friendship) +
+ + + + +
+
+ @csrf + +
+
+ @csrf @method('DELETE') + +
+
+
+ @empty +
+ + No tienes solicitudes pendientes. +
+ @endforelse +
+
@endsection + +@section('scripts') + +@endsection diff --git a/resources/views/layouts/_partials/header.blade.php b/resources/views/layouts/_partials/header.blade.php index bb7c98bb..b33320dc 100644 --- a/resources/views/layouts/_partials/header.blade.php +++ b/resources/views/layouts/_partials/header.blade.php @@ -17,8 +17,12 @@
-
+