with('wallet.user') ->latest() ->limit(5) ->get() ->map(function ($t) { return [ 'user' => $t->wallet?->user?->name ?? '—', 'amount' => ifnex_format_number(abs((float) $t->amount)), 'amount_negative' => $t->amount < 0, 'type_label' => $t->type->label(), 'type_color' => $this->typeBadgeClass($t->type), 'status_label' => $t->status->label(), 'status_color' => $this->statusBadgeClass($t->status), 'date' => Jalalian::fromCarbon($t->created_at)->format('Y/m/d H:i'), ]; }); return [ 'transactions' => $transactions, 'viewAllUrl' => route('filament.admin.resources.wallet-transactions.index'), ]; } private function typeBadgeClass(TransactionType $type): string { return match ($type) { TransactionType::DEPOSIT => 'ifnex-badge-success', TransactionType::WITHDRAWAL => 'ifnex-badge-danger', TransactionType::ORDER_PAYMENT => 'ifnex-badge-warning', TransactionType::REFUND => 'ifnex-badge-info', default => 'ifnex-badge-gray', }; } private function statusBadgeClass(TransactionStatus $status): string { return match ($status) { TransactionStatus::COMPLETED => 'ifnex-badge-success', TransactionStatus::PENDING => 'ifnex-badge-warning', TransactionStatus::FAILED => 'ifnex-badge-danger', TransactionStatus::REFUNDED => 'ifnex-badge-info', default => 'ifnex-badge-gray', }; } }