added the requests page
This commit is contained in:
parent
809980786f
commit
1f3c063ec5
@ -5,6 +5,7 @@ namespace App\Http\Controllers\AP;
|
||||
use App\Models\User;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class APWebfingerController extends Controller
|
||||
|
@ -5,6 +5,8 @@ namespace App\Http\Controllers;
|
||||
use App\Types\TypeActor;
|
||||
|
||||
use App\Models\User;
|
||||
use App\Models\Actor;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class HomeController extends Controller
|
||||
@ -38,4 +40,21 @@ class HomeController extends Controller
|
||||
return redirect ()->route ("users.show", "@$actor->preferredUsername@$domain");
|
||||
}
|
||||
}
|
||||
|
||||
public function requests ()
|
||||
{
|
||||
$user = auth ()->user ();
|
||||
$requests = [];
|
||||
|
||||
foreach ($user->friend_requests () as $request)
|
||||
{
|
||||
$actor = Actor::where ("actor_id", $request->actor)->first ();
|
||||
if (!$actor)
|
||||
continue;
|
||||
|
||||
$requests[] = $actor;
|
||||
}
|
||||
|
||||
return view ("users.requests", compact ("user", "requests"));
|
||||
}
|
||||
}
|
||||
|
@ -82,4 +82,14 @@ class User extends Authenticatable
|
||||
|
||||
return $followers->intersect ($following);
|
||||
}
|
||||
|
||||
public function friend_requests ()
|
||||
{
|
||||
$actor_id = '"' . str_replace ("/", "\/", $this->actor->actor_id) . '"';
|
||||
|
||||
$followers = Activity::where ("type", "Follow")->where ("object", $actor_id)->get ();
|
||||
$following = Activity::where ("type", "Follow")->where ("actor", $actor_id)->get ();
|
||||
|
||||
return $followers->diff ($following);
|
||||
}
|
||||
}
|
||||
|
@ -96,6 +96,25 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="friends">
|
||||
<div class="heading">
|
||||
<h4>Friend Requests</h4>
|
||||
</div>
|
||||
<div class="inner">
|
||||
<p>
|
||||
<b>
|
||||
<span class="count">{{ count (auth ()->user ()->friend_requests ()) }}</span>
|
||||
Open Friend Requests
|
||||
</b>
|
||||
</p>
|
||||
<a href="{{ route ('requests') }}">
|
||||
<button>
|
||||
View All Requests
|
||||
</button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="new-people cool">
|
||||
<div class="top">
|
||||
<h4>Feed</h4>
|
||||
|
60
resources/views/users/requests.blade.php
Normal file
60
resources/views/users/requests.blade.php
Normal file
@ -0,0 +1,60 @@
|
||||
@extends ("partials.layout")
|
||||
|
||||
@section ("title", "Open Friend Requests")
|
||||
|
||||
@section ("content")
|
||||
<div class="simple-container">
|
||||
|
||||
<div class="friends">
|
||||
<div class="heading">
|
||||
<h1>Friend Requests</h1>
|
||||
</div>
|
||||
|
||||
<div class="inner">
|
||||
<br>
|
||||
<p>
|
||||
<b>
|
||||
<span class="count">{{ count ($user->friend_requests ()) }}</span>
|
||||
Open Friend Requests
|
||||
</b>
|
||||
|
||||
<form action="#" method="POST">
|
||||
@csrf
|
||||
<button type="submit" name="submit">Accept All Requests</button>
|
||||
</form>
|
||||
<br>
|
||||
|
||||
<table class="comments-table" cellspacing="0" cellpadding="3" bordercolor="ffffff" border="1">
|
||||
<tbody>
|
||||
@foreach ($requests as $frequest)
|
||||
<tr>
|
||||
<td>
|
||||
<a href="{{ route ('users.show', [ 'user_name' => $frequest->local_actor_id ? $frequest->local_actor_id : $frequest->preferredUsername ]) }}">
|
||||
<p>
|
||||
{{ $frequest->name }}
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="{{ route ('users.show', [ 'user_name' => $frequest->local_actor_id ? $frequest->local_actor_id : $frequest->preferredUsername ]) }}">
|
||||
<img src="{{ $frequest->user ? $frequest->user->avatar : $frequest->icon }}" alt="{{ $frequest->name }}" class="avatar">
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<p>
|
||||
<b>Friend Request</b>
|
||||
</p>
|
||||
<form action="#" method="POST">
|
||||
@csrf
|
||||
<input type="submit" name="accept" value="Accept">
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
@ -22,5 +22,6 @@ Route::get ("/user/{user_name}", [ ProfileController::class, "show" ])->name ("u
|
||||
|
||||
// other routes
|
||||
Route::get ("/search", [ HomeController::class, "search" ])->name ("search");
|
||||
Route::get ("/requests", [ HomeController::class, "requests" ])->name ("requests")->middleware ("auth");
|
||||
|
||||
require __DIR__ . "/api.php";
|
||||
|
Loading…
x
Reference in New Issue
Block a user