From a2042c918d9a3d95ac2c860e37271d130a94eb69 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Sat, 20 Dec 2025 09:47:49 +0700 Subject: [PATCH] feat: Make voucher tier IDs required, update its form UI, and simplify outlet display in the vouchers table. --- .../Datatable/Loyalty/VouchersTable.php | 10 +---- .../Forms/Studio/Loyalty/VoucherForm.php | 2 +- .../studio/loyalty/voucher/form.blade.php | 37 ++++++++++--------- 3 files changed, 22 insertions(+), 27 deletions(-) diff --git a/app/Livewire/Datatable/Loyalty/VouchersTable.php b/app/Livewire/Datatable/Loyalty/VouchersTable.php index f2c17a5..1b91ce4 100644 --- a/app/Livewire/Datatable/Loyalty/VouchersTable.php +++ b/app/Livewire/Datatable/Loyalty/VouchersTable.php @@ -84,15 +84,9 @@ public function columns(): array ArrayColumn::make('Outlet') ->data( - fn ($value, $row) => $row->outlets->map(fn ($outlet) => [ - 'name' => $outlet->name, - 'stock' => formatCurrencyNumber($outlet->pivot->stock, ''), - ])->toArray() + fn ($value, $row) => $row->outlets->pluck('name')->toArray() ) - ->outputFormat(fn ($index, $value) => Blade::render(' -
- {{ $value["name"] }} -
', ['value' => $value])) + ->outputFormat(fn ($index, $value) => Blade::render(''.$value.'')) ->flexRow(['class' => 'gap-2 flex-wrap']), Column::make('Visibilitas', 'is_show') diff --git a/app/Livewire/Forms/Studio/Loyalty/VoucherForm.php b/app/Livewire/Forms/Studio/Loyalty/VoucherForm.php index 204fdad..a3ff9b4 100644 --- a/app/Livewire/Forms/Studio/Loyalty/VoucherForm.php +++ b/app/Livewire/Forms/Studio/Loyalty/VoucherForm.php @@ -78,7 +78,7 @@ public function rules(): array 'summary' => ['required', 'string', 'max:200'], 'start_date' => ['required', 'date', 'after:yesterday'], 'end_date' => ['nullable', 'date', 'after_or_equal:start_date'], - 'tier_ids' => ['nullable', 'array'], + 'tier_ids' => ['required', 'array', 'min:1'], 'tier_ids.*' => Rule::exists('tiers', 'id'), 'outlet_ids' => ['required', 'array', 'min:1'], 'outlet_ids.*' => Rule::exists('outlets', 'id'), diff --git a/resources/views/livewire/studio/loyalty/voucher/form.blade.php b/resources/views/livewire/studio/loyalty/voucher/form.blade.php index 93da25e..735b249 100644 --- a/resources/views/livewire/studio/loyalty/voucher/form.blade.php +++ b/resources/views/livewire/studio/loyalty/voucher/form.blade.php @@ -41,22 +41,22 @@ - Min. Belanja - - Rp - - - - + Min. Belanja + + Rp + + + + - + - + @@ -144,11 +144,12 @@ - Tier - Jika tidak memilih, maka voucher berlaku tanpa membatasi tier. - + Tier * + @foreach ($tiers as $key => $value) - {{ $value }} + {{ $value }} + @endforeach