diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 4d77ea2..c58ece8 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -3,8 +3,6 @@ namespace App\Http\Controllers; use App\Models\Episode; -use App\Models\Playlist; -use App\Models\PlaylistEpisode; use App\Models\User; use App\Http\Requests\ProfileUpdateRequest; use Illuminate\Http\RedirectResponse; @@ -84,7 +82,7 @@ class ProfileController extends Controller public function comments(Request $request): View { return view('profile.comments', [ - 'user' => $request->user(), + 'user' => $request->user(), ]); } diff --git a/app/Livewire/UserComments.php b/app/Livewire/UserComments.php new file mode 100644 index 0000000..010dfbb --- /dev/null +++ b/app/Livewire/UserComments.php @@ -0,0 +1,49 @@ +order) { + case 'created_at_desc': + $orderby = 'created_at'; + $orderdirection = 'desc'; + break; + case 'created_at_asc': + $orderby = 'created_at'; + $orderdirection = 'asc'; + break; + default: + $orderby = 'created_at'; + $orderdirection = 'desc'; + } + + + $comments = Comment::where('user_id', $this->model->id) + ->when($this->commentSearch != '', fn ($query) => $query->where('body', 'like', '%'.$this->commentSearch.'%')) + ->orderBy($orderby, $orderdirection) + ->paginate(10); + + return view('livewire.user-comments', [ + 'comments' => $comments + ]); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index fc627a6..d9de512 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -89,9 +89,17 @@ class User extends Authenticatable /** * Has Many Comments. */ + public function comments() + { + return $this->hasMany(Comment::class, 'user_id'); + } + + /** + * Get Comment Count. + */ public function commentCount(): int { - return DB::table('comments')->where('commenter_id', $this->id)->count(); + return cache()->remember('userComments' . $this->id, 300, fn() => $this->comments->count()); } /** diff --git a/resources/views/livewire/user-comments.blade.php b/resources/views/livewire/user-comments.blade.php new file mode 100644 index 0000000..9131288 --- /dev/null +++ b/resources/views/livewire/user-comments.blade.php @@ -0,0 +1,116 @@ +
- {{ $episode->getResolution() }}
-- {{ $episode->viewCountFormatted() }} {{ $episode->likeCount() }} - {{ $episode->commentCount() }} -
-- {{ $episode->title }} - {{ $episode->episode }}
-- {{ $episode->title }} - {{ $episode->episode }}
-