From 456e7be0556cd9b4124c49d9477fdfb5bca330da Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Wed, 12 Nov 2025 14:54:30 +0700 Subject: [PATCH] feat(voucher): membuat halaman voucher --- app/Livewire/Member/Voucher.php | 36 +++++++++ .../partials/member/_sidebar.blade.php | 13 +++- .../views/livewire/member/voucher.blade.php | 75 +++++++++++++++++++ routes/pages/member.php | 2 + 4 files changed, 123 insertions(+), 3 deletions(-) create mode 100644 app/Livewire/Member/Voucher.php create mode 100644 resources/views/livewire/member/voucher.blade.php diff --git a/app/Livewire/Member/Voucher.php b/app/Livewire/Member/Voucher.php new file mode 100644 index 0000000..7d6a5ec --- /dev/null +++ b/app/Livewire/Member/Voucher.php @@ -0,0 +1,36 @@ +vouchers = auth()->user()->vouchers()->get()->map(fn ($voucher) => [ + 'id' => $voucher->id, + 'name' => $voucher->name, + 'code' => $voucher->code, + 'is_percentage' => $voucher->type == VoucherType::PERCENTAGE, + 'min_purchase' => $voucher->min_purchase ? currency($voucher->min_purchase, 'Rp') : 'No Min. Belanja', + 'discount_amount' => $voucher->type == VoucherType::PERCENTAGE ? $voucher->discount_amount.'%' : currency($voucher->discount_amount, 'Rp'), + 'max_discount' => currency($voucher->max_discount, 'Rp'), + 'end_date' => $voucher->end_date ? timeAgo($voucher->end_date) : 'Tidak Ada Batas Waktu', + ])->toArray(); + } + + public function render() + { + return view('livewire.member.voucher', [ + 'pageTitle' => 'Voucher', + ]); + } +} diff --git a/resources/views/components/partials/member/_sidebar.blade.php b/resources/views/components/partials/member/_sidebar.blade.php index 919bead..63e5c4f 100644 --- a/resources/views/components/partials/member/_sidebar.blade.php +++ b/resources/views/components/partials/member/_sidebar.blade.php @@ -4,8 +4,15 @@ class="bg-zinc-50 dark:bg-zinc-900 border-r rtl:border-r-0 rtl:border-l border-z