@extends('layouts.admin') @section('title', 'Approvals') @push('styles') @endpush @section('content') @php $paymentRequests = $paymentRequests ?? []; $withdrawalRequests = $withdrawalRequests ?? []; $paymentRows = collect($paymentRequests)->map(function ($payment) { $status = $payment['status'] ?? 'Pending Payment Review'; $type = ($payment['type'] ?? 'plan_payment') === 'wallet_deposit' ? 'Wallet Deposit' : 'Plan Payment'; return [ 'kind' => 'payment', 'key' => adminPaymentKey($payment), 'type' => $type, 'user' => $payment['user_name'] ?? 'Not provided', 'email' => $payment['user_email'] ?? 'Not provided', 'title' => $payment['name'] ?? 'Selected Plan', 'amount' => portalMoneyAmount($payment['amount'] ?? 0), 'method' => $payment['payment_method'] ?? 'Not selected', 'status' => $status, 'date' => $payment['submitted_at'] ?? '-', 'reviewed' => $payment['reviewed_at'] ?? '-', 'note' => $payment['note'] ?? '', 'admin_note' => $payment['admin_note'] ?? '', ]; }); $withdrawalRows = collect($withdrawalRequests)->map(function ($withdrawal) { $status = $withdrawal['status'] ?? 'Pending Withdrawal Review'; return [ 'kind' => 'withdrawal', 'key' => adminWithdrawalKey($withdrawal), 'type' => 'Withdrawal', 'user' => $withdrawal['user_name'] ?? 'Not provided', 'email' => $withdrawal['user_email'] ?? 'Not provided', 'title' => $withdrawal['account_details'] ?? 'Withdrawal Details', 'amount' => portalMoneyAmount($withdrawal['amount'] ?? 0), 'method' => $withdrawal['withdrawal_method'] ?? 'Not selected', 'status' => $status, 'date' => $withdrawal['submitted_at'] ?? '-', 'reviewed' => $withdrawal['reviewed_at'] ?? '-', 'note' => $withdrawal['note'] ?? '', 'admin_note' => $withdrawal['admin_note'] ?? '', ]; }); $approvalRows = $paymentRows->merge($withdrawalRows)->values(); $pendingRows = $approvalRows->filter(fn ($row) => in_array($row['status'], ['Pending Payment Review', 'Pending Withdrawal Review'], true))->values(); $approvedRows = $approvalRows->filter(fn ($row) => in_array($row['status'], ['Deposit Approved', 'Payment Completed', 'Withdrawal Paid'], true))->values(); @endphp

Administration

Approval Requests

Review pending requests and monitor approved deposits, payments, and withdrawals.

@if (session('status'))
{{ session('status') }}
@endif

Pending Approval

{{ $pendingRows->count() }}

Approved / Paid

{{ $approvedRows->count() }}

Pending Amount

${{ number_format($pendingRows->sum('amount'), 2) }}

Approved Amount

${{ number_format($approvedRows->sum('amount'), 2) }}

Pending Approval

All requests waiting for admin approval, payment, or rejection.

@forelse ($pendingRows as $row) @empty @endforelse
User Type Details Amount Status Date Action
{{ $row['user'] }} {{ $row['email'] }} {{ $row['type'] }} {{ $row['method'] }} {{ $row['title'] }} ${{ number_format($row['amount'], 2) }} {{ $row['status'] }} {{ $row['date'] }} @if ($row['kind'] === 'payment')
@csrf
@else
@csrf
@endif
No pending approval requests.

Approved And Paid

All completed approvals and paid withdrawals.

@forelse ($approvedRows as $row) @php $badgeClass = in_array($row['status'], ['Deposit Approved', 'Payment Completed', 'Withdrawal Paid'], true) ? 'bg-emerald-50 text-emerald-700' : 'bg-slate-100 text-slate-700'; @endphp @empty @endforelse
User Type Details Amount Status Submitted Reviewed
{{ $row['user'] }} {{ $row['email'] }} {{ $row['type'] }} {{ $row['method'] }} {{ $row['title'] }} ${{ number_format($row['amount'], 2) }} {{ $row['status'] }} {{ $row['date'] }} {{ $row['reviewed'] }}
No approved requests yet.
@endsection