ابنِ مكون تقييم تفاعلي.
المكون
@php
new class extends Livewire\Component {
public int $rating = 0;
public int $hoverRating = 0;
public int $ratableId;
public string $ratableType;
public function setRating(int $value): void
{
$this->rating = $value;
Rating::updateOrCreate(
['user_id' => auth()->id(), 'ratable_id' => $this->ratableId],
['value' => $value]
);
}
}
@endphp
<div>
@for($i = 1; $i <= 5; $i++)
<button wire:click="setRating({{ $i }})">
{{ $i <= $rating ? '★' : '☆' }}
</button>
@endfor
</div>