Files
eatvio-infra/app/Livewire/Recipe/Like.php
Anatoliy Poloz 92a54106ef analysators added
2023-12-18 14:36:32 +03:00

38 lines
745 B
PHP

<?php
namespace App\Livewire\Recipe;
use App\Models\Recipe;
use Livewire\Component;
class Like extends Component
{
public Recipe $recipe;
public $isIconOnly = false;
public function mount(Recipe $recipe)
{
$this->recipe = $recipe;
}
public function render()
{
return view('livewire.recipe.like');
}
public function like(): void
{
if ($this->recipe->isLiked()) {
$this->recipe->removeLike();
} elseif (auth()->user()) {
$this->recipe->likes()->create([
'user_id' => auth()->id(),
'blog_post_id' => $this->recipe->id,
]);
}
$this->dispatch('liked')->to('recipe.like-count');
}
}