From 36610ea892e6d13a58ad3af1d654ee148a2764b4 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Tue, 28 Oct 2025 21:33:05 +0700 Subject: [PATCH] feat(voucher): membuat kolom sisa voucher dan menyesuaikan jika kuota tidak terbatas --- .../Studio/Loyalty/VouchersTable.php | 24 +++++++++++++++---- .../studio/loyalty/voucher/form.blade.php | 2 +- .../studio/loyalty/voucher/index.blade.php | 2 +- 3 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/Livewire/Datatable/Studio/Loyalty/VouchersTable.php b/app/Livewire/Datatable/Studio/Loyalty/VouchersTable.php index 5ebdc61..8bb3338 100644 --- a/app/Livewire/Datatable/Studio/Loyalty/VouchersTable.php +++ b/app/Livewire/Datatable/Studio/Loyalty/VouchersTable.php @@ -51,13 +51,29 @@ public function columns(): array ->searchable() ->sortable(), - Column::make('Kuota', 'quota')->searchable()->sortable(), + Column::make('Kuota', 'quota') + ->format(fn ($value) => $value ? currency($value) : 'Tidak Terbatas') + ->searchable() + ->sortable(), - Column::make('Batas Per Pembali', 'limit_per_user')->searchable()->sortable(), + Column::make('Batas Per Pembali', 'limit_per_user') + ->format(fn ($value) => $value ? $value : 'Tidak Terbatas') + ->searchable() + ->sortable(), + + Column::make('Sisa Voucher')->label(fn ($row) => $row->quota ? $row->quota - $row->orders()->count() : 'Tidak Terbatas..'), ArrayColumn::make('Outlet') - ->data(fn ($value, $row) => $row->outlets->pluck('name')->toArray()) - ->outputFormat(fn ($index, $value) => Blade::render(''.$value.'')) + ->data( + fn ($value, $row) => $row->outlets->map(fn ($outlet) => [ + 'name' => $outlet->name, + 'stock' => currency($outlet->pivot->stock, ''), + ])->toArray() + ) + ->outputFormat(fn ($index, $value) => Blade::render(' +
+ {{ $value["name"] }} +
', ['value' => $value])) ->flexRow(['class' => 'gap-2 flex-wrap']), Column::make('Tanggal') diff --git a/resources/views/livewire/studio/loyalty/voucher/form.blade.php b/resources/views/livewire/studio/loyalty/voucher/form.blade.php index 9ff1fde..f9285d4 100644 --- a/resources/views/livewire/studio/loyalty/voucher/form.blade.php +++ b/resources/views/livewire/studio/loyalty/voucher/form.blade.php @@ -65,7 +65,7 @@ - diff --git a/resources/views/livewire/studio/loyalty/voucher/index.blade.php b/resources/views/livewire/studio/loyalty/voucher/index.blade.php index 7198082..15641ad 100644 --- a/resources/views/livewire/studio/loyalty/voucher/index.blade.php +++ b/resources/views/livewire/studio/loyalty/voucher/index.blade.php @@ -3,7 +3,7 @@
{{ $pageTitle }}
- @can ('create voucher')) + @can ('create voucher')