<?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),
        ]);
    }
}
