42 lines
1.1 KiB
PHP
42 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Livewire;
|
|
|
|
use App\Models\Episode;
|
|
use App\Models\Gallery;
|
|
use Livewire\Component;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class NavLiveSearch extends Component
|
|
{
|
|
public $navSearch;
|
|
|
|
protected $queryString = [
|
|
'navSearch' => ['except' => '', 'as' => 's'],
|
|
];
|
|
|
|
public function render()
|
|
{
|
|
$episodes = [];
|
|
$randomimage = null;
|
|
if ($this->navSearch != '') {
|
|
$episodes = Episode::with('gallery')->where('title', 'like', '%'.$this->navSearch.'%')
|
|
->orWhere('title_jpn', 'like', '%'.$this->navSearch.'%')
|
|
->when(Auth::guest(), fn ($query) => $query->withoutTags(['loli', 'shota']))
|
|
->take(10)
|
|
->get();
|
|
|
|
$randomimage = Gallery::all()
|
|
->random(1)
|
|
->first();
|
|
}
|
|
|
|
return view('livewire.nav-live-search', [
|
|
'episodes' => $episodes,
|
|
'randomimage' => $randomimage,
|
|
'query' => $this->navSearch,
|
|
'hide' => empty($this->navSearch),
|
|
]);
|
|
}
|
|
}
|