From 3f0331de809d2311371953832152a3b48075518a Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 27 Oct 2025 22:36:53 +0700 Subject: [PATCH] feat(user): menambahkan fitur search dan menghapus default value untuk status --- app/Livewire/Studio/Master/User/Index.php | 24 ++++++++++++------- .../studio/master/user/index.blade.php | 12 ++-------- 2 files changed, 17 insertions(+), 19 deletions(-) diff --git a/app/Livewire/Studio/Master/User/Index.php b/app/Livewire/Studio/Master/User/Index.php index b2c63a6..00ab40a 100644 --- a/app/Livewire/Studio/Master/User/Index.php +++ b/app/Livewire/Studio/Master/User/Index.php @@ -2,7 +2,6 @@ namespace App\Livewire\Studio\Master\User; -use App\Enums\UserStatus; use App\Models\Employee; use App\Models\User; use App\Traits\WithConfirmation; @@ -18,18 +17,24 @@ class Index extends Component public array $employees = []; + public string $search = ''; + public array $status = []; public function mount() { $this->loadEmployees(); - - $this->status = UserStatus::cases(); } protected function loadEmployees() { $this->employees = Employee::with(['user', 'user.referralCode', 'user.outlets']) + ->when(! empty($this->search), function ($query) { + return $query->where('full_name', 'like', '%'.$this->search.'%') + ->orWhere('code', 'like', '%'.$this->search.'%') + ->orWhereHas('user', fn ($q) => $q->where('email', 'like', '%'.$this->search.'%')) + ->orWhereHas('user', fn ($q) => $q->where('username', 'like', '%'.$this->search.'%')); + }) ->when(! empty($this->status), fn ($query) => $query->whereHas('user', fn ($q) => $q->whereIn('status', $this->status))) ->latest() ->get() @@ -64,14 +69,15 @@ protected function loadEmployees() ->toArray(); } + public function updatedSearch(string $value) + { + $this->search = $value; + + $this->loadEmployees(); + } + public function updatedStatus() { - if (empty($this->status)) { - $this->employees = []; - - return; - } - $this->loadEmployees(); } diff --git a/resources/views/livewire/studio/master/user/index.blade.php b/resources/views/livewire/studio/master/user/index.blade.php index e8a8227..d491e6e 100644 --- a/resources/views/livewire/studio/master/user/index.blade.php +++ b/resources/views/livewire/studio/master/user/index.blade.php @@ -16,16 +16,8 @@ class="text-sm">
-
- Status: - @foreach (\App\Enums\UserStatus::cases() as $status) -
- - {{ $status->label() }} - -
- @endforeach -
+