fix: include replies in comment count and cascade delete to replies
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
{{-- Sort toggle --}}
|
||||
<div class="flex items-center justify-between">
|
||||
<h3 class="text-sm font-medium text-gray-700 dark:text-gray-300">
|
||||
Comments ({{ $this->totalCount }})
|
||||
Comments ({{ $this->allCommentsCount }})
|
||||
</h3>
|
||||
@auth
|
||||
<div class="flex items-center gap-3">
|
||||
|
||||
@@ -80,6 +80,12 @@ class Comments extends Component implements HasForms
|
||||
return $this->model->topLevelComments()->count();
|
||||
}
|
||||
|
||||
#[Computed]
|
||||
public function allCommentsCount(): int
|
||||
{
|
||||
return $this->model->commentCount();
|
||||
}
|
||||
|
||||
#[Computed]
|
||||
public function hasMore(): bool
|
||||
{
|
||||
@@ -203,7 +209,7 @@ class Comments extends Component implements HasForms
|
||||
|
||||
public function refreshComments(): void
|
||||
{
|
||||
unset($this->comments, $this->totalCount, $this->hasMore);
|
||||
unset($this->comments, $this->totalCount, $this->hasMore, $this->allCommentsCount);
|
||||
}
|
||||
|
||||
public function render(): View
|
||||
|
||||
@@ -28,6 +28,10 @@ class Comment extends Model
|
||||
$comment->body = Str::sanitizeHtml($comment->body);
|
||||
});
|
||||
|
||||
static::deleting(function (self $comment): void {
|
||||
$comment->replies()->each(fn ($reply) => $reply->delete());
|
||||
});
|
||||
|
||||
static::forceDeleting(function (self $comment): void {
|
||||
$comment->attachments()->delete();
|
||||
$comment->reactions()->delete();
|
||||
|
||||
Reference in New Issue
Block a user