81 lines
3.1 KiB
PHP
81 lines
3.1 KiB
PHP
@php
|
|
if (isset($approved) and $approved == true) {
|
|
$comments = $model->approvedComments;
|
|
} else {
|
|
$comments = $model->comments;
|
|
}
|
|
@endphp
|
|
|
|
@if($comments->count() < 1)
|
|
<div class="mb-4 rounded-lg text-black px-6 py-5 text-base dark:text-neutral-50 bg-white dark:bg-neutral-700/40">@lang('comments::comments.there_are_no_comments')</div>
|
|
@endif
|
|
|
|
<div>
|
|
@php
|
|
$comments = $comments->sortByDesc('created_at');
|
|
|
|
if (isset($perPage)) {
|
|
$page = request()->query('page', 1) - 1;
|
|
|
|
$parentComments = $comments->where('child_id', '');
|
|
|
|
$slicedParentComments = $parentComments->slice($page * $perPage, $perPage);
|
|
|
|
$m = Config::get('comments.model'); // This has to be done like this, otherwise it will complain.
|
|
$modelKeyName = (new $m)->getKeyName(); // This defaults to 'id' if not changed.
|
|
|
|
$slicedParentCommentsIds = $slicedParentComments->pluck($modelKeyName)->toArray();
|
|
|
|
// Remove parent Comments from comments.
|
|
$comments = $comments->where('child_id', '!=', '');
|
|
|
|
$grouped_comments = new \Illuminate\Pagination\LengthAwarePaginator(
|
|
$slicedParentComments->merge($comments)->groupBy('child_id'),
|
|
$parentComments->count(),
|
|
$perPage
|
|
);
|
|
|
|
$grouped_comments->withPath(request()->url());
|
|
} else {
|
|
$grouped_comments = $comments->groupBy('child_id');
|
|
}
|
|
@endphp
|
|
@foreach($grouped_comments as $comment_id => $comments)
|
|
{{-- Process parent nodes --}}
|
|
@if($comment_id == '')
|
|
@foreach($comments as $comment)
|
|
@include('comments::_comment', [
|
|
'comment' => $comment,
|
|
'grouped_comments' => $grouped_comments,
|
|
'maxIndentationLevel' => $maxIndentationLevel ?? 3
|
|
])
|
|
@endforeach
|
|
@endif
|
|
@endforeach
|
|
</div>
|
|
|
|
@isset ($perPage)
|
|
{{ $grouped_comments->links() }}
|
|
@endisset
|
|
|
|
@if ((! Illuminate\Support\Facades\Route::is('profile.comments')) && (! Illuminate\Support\Facades\Route::is('home.index')))
|
|
@auth
|
|
@include('comments::_form')
|
|
@elseif(Config::get('comments.guest_commenting') == true)
|
|
@include('comments::_form', [
|
|
'guest_commenting' => true
|
|
])
|
|
@else
|
|
<div class="block rounded-lg p-6 shadow-[0_2px_15px_-3px_rgba(0,0,0,0.07),0_10px_20px_-2px_rgba(0,0,0,0.04)] bg-white dark:bg-neutral-700/40">
|
|
<div class="card-body">
|
|
<h5 class="mb-2 text-xl font-medium leading-tight text-gray-800 dark:text-gray-200 w-full">@lang('comments::comments.authentication_required')</h5>
|
|
<p class="mb-2 leading-tight text-gray-800 dark:text-gray-200 w-full">@lang('comments::comments.you_must_login_to_post_a_comment')</p>
|
|
<br>
|
|
<a href="{{ route('login') }}" class="relative bg-blue-700 hover:bg-blue-600 text-white font-bold px-6 h-10 rounded pt-2 pb-2" style="width: 12px">
|
|
<i class="fa-brands fa-discord"></i> Login
|
|
</a>
|
|
</div>
|
|
</div>
|
|
@endauth
|
|
@endif
|