File: /home/armgroup/libs/app/Http/Livewire/Frontend/Header/Wishlist.php
<?php
namespace App\Http\Livewire\Frontend\Header;
use App\Http\Livewire\ConvertEmptyStringsToNull;
use App\Http\Livewire\General;
use App\Models\Favorite;
use App\Models\Product;
use Livewire\Component;
class Wishlist extends Component
{
use ConvertEmptyStringsToNull, General;
public $favorites;
protected $listeners = ['favoritesChanged'];
public function favoritesChanged()
{
$this->getFavorites();
}
public function mount()
{
$this->getFavorites();
}
public function render()
{
return view('livewire.frontend.header.wishlist');
}
public function delete($favorite_id, $product_id)
{
if (auth()->check()) {
Favorite::where('id', $favorite_id)
->where('user_id', auth()->id())
->delete();
// اگر در صفحه محصول بودیم از اونجا هم حذف شد
$this->emit('removeFavorite', $product_id);
$this->getFavorites();
$this->ajaxDoneMessage();
}
}
public function getFavorites()
{
$this->favorites = Favorite::where('favoritable_type', Product::class)
->where('user_id', auth()->id())
->with('favoritable')
->latest()
->take(5)
->get();
}
}