From a679cec98d3cfc6c691252b7580d9142db46ad2e Mon Sep 17 00:00:00 2001 From: "waffle.lord" Date: Sat, 10 Aug 2024 14:04:00 -0400 Subject: [PATCH] wire up spt version filter this isn't working correctly from what I can tell, but it's a start. --- app/Livewire/ModIndex.php | 16 ++++++++++++---- resources/views/livewire/mod-index.blade.php | 10 +++++----- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/Livewire/ModIndex.php b/app/Livewire/ModIndex.php index 8510598..0ba1a86 100644 --- a/app/Livewire/ModIndex.php +++ b/app/Livewire/ModIndex.php @@ -3,6 +3,7 @@ namespace App\Livewire; use App\Models\Mod; +use App\Models\SptVersion; use Illuminate\Support\Str; use Livewire\Component; use Livewire\WithPagination; @@ -11,9 +12,11 @@ class ModIndex extends Component { use WithPagination; - public $modSearch = ''; + public string $modSearch = ''; - public $sectionFilter = 'featured'; + public string $sectionFilter = 'featured'; + + public string $versionFilter = ''; public function render() { @@ -40,11 +43,16 @@ class ModIndex extends Component ->withTotalDownloads() ->with(['latestVersion', 'latestVersion.sptVersion', 'users:id,name']) ->whereHas('latestVersion') - ->where('name', 'like', '%'.Str::trim($this->modSearch).'%') //TODO: Is this how search do? Ref please advise. -waffle + ->whereHas('latestVersion.sptVersion', function ($query) { + $query->where('version', 'like', '%'.Str::trim($this->versionFilter).'%'); + }) + ->where('name', 'like', '%'.Str::trim($this->modSearch).'%') ->orderByDesc($section) ->paginate(12); - return view('livewire.mod-index', ['mods' => $mods]); + $sptVersions = SptVersion::select(['id', 'version', 'color_class'])->orderByDesc('version')->get(); + + return view('livewire.mod-index', ['mods' => $mods, 'sptVersions' => $sptVersions]); } public function changeSection($section): void diff --git a/resources/views/livewire/mod-index.blade.php b/resources/views/livewire/mod-index.blade.php index 40f0943..5a84d82 100644 --- a/resources/views/livewire/mod-index.blade.php +++ b/resources/views/livewire/mod-index.blade.php @@ -68,11 +68,11 @@ {{-- spt version filters --}}

SPT Version

- + + @foreach($sptVersions as $version) + + @endforeach