From 8f3dd9975ccb497b3ad2da1c10b8c89dfe6d55e8 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 5 Jan 2026 19:33:19 +0700 Subject: [PATCH] feat: Add empty state handling for rewards and redemption history. --- .../views/livewire/member/rewards.blade.php | 192 ++++++++++-------- 1 file changed, 104 insertions(+), 88 deletions(-) diff --git a/resources/views/livewire/member/rewards.blade.php b/resources/views/livewire/member/rewards.blade.php index 23870fd..87d58bd 100644 --- a/resources/views/livewire/member/rewards.blade.php +++ b/resources/views/livewire/member/rewards.blade.php @@ -24,103 +24,115 @@ class="w-fit bg-zinc-100 dark:bg-zinc-800/50 p-4 rounded-3xl border border-zinc- -
- @foreach ($rewards as $reward) -
+ @if (!empty($rewards)) +
+ @foreach ($rewards as $reward) +
-
- @if ($reward['thumbnail']) - {{ $reward['name'] }} - @else +
+ @if ($reward['thumbnail']) + {{ $reward['name'] }} + @else +
+ +
+ @endif
- + class="absolute inset-0 bg-gradient-to-r from-black/95 via-black/40 to-transparent">
- @endif -
+
+ +
+
+
+ {{ $reward['category_label'] }} +
+
+ {{ formatCurrencyNumber($reward['points']) }} + Poin +
+
+ {{ $reward['name'] }} +
+
+ +
+
+ + + Tukarkan Sekarang + + +
+
+ + @if ($reward['stock'] !== null) +
+ + Stok: {{ $reward['stock'] }} + +
+ @endif
- -
-
-
- {{ $reward['category_label'] }} -
-
- {{ formatCurrencyNumber($reward['points']) }} - Poin -
-
- {{ $reward['name'] }} -
-
- -
-
- - - Tukarkan Sekarang - - -
-
- - @if ($reward['stock'] !== null) -
- - Stok: {{ $reward['stock'] }} - -
- @endif -
-
- @endforeach -
+ @endforeach +
+ @else + @include('components.animations.lottie.not-found', [ + 'message' => 'Belum ada hadiah yang tersedia untuk Anda saat ini.', + ]) + @endif - @if (!empty($userRedemptions)) - - - - Hadiah - Kode - Poin Dipakai - Status - Kadaluarsa - + + + + Hadiah + Kode + Poin Dipakai + Status + Kadaluarsa + - - @foreach ($userRedemptions as $redemption) - - {{ $redemption['reward']['name'] }} - {{ $redemption['code'] }} - {{ formatCurrencyNumber($redemption['points_spent']) }} - - - - {{ $redemption['status_label'] }} - - - - {{ formatDateLocalized($redemption['expires_at'], 'l, d M Y H:i') }} - - - @endforeach - - - - @endif + + @forelse ($userRedemptions as $redemption) + + {{ $redemption['reward']['name'] }} + {{ $redemption['code'] }} + {{ formatCurrencyNumber($redemption['points_spent']) }} + + + + {{ $redemption['status_label'] }} + + + + {{ formatDateLocalized($redemption['expires_at'], 'l, d M Y H:i') }} + + + @empty + + + Belum ada poin yang ditukar + + + + @endforelse + + +
@@ -133,4 +145,8 @@ class="text-[9px] font-bold text-white/40 border border-white/10 px-2 py-0.5 rou 'buttonColor' => 'zinc', 'buttonText' => 'Ya, Tukarkan', ]) + + @assets + + @endassets