@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
Review pending requests and monitor approved deposits, payments, and withdrawals.
@if (session('status'))
{{ session('status') }}
@endif
All requests waiting for admin approval, payment, or rejection.
| User |
Type |
Details |
Amount |
Status |
Date |
Action |
@forelse ($pendingRows as $row)
|
{{ $row['user'] }}
{{ $row['email'] }}
|
{{ $row['type'] }} |
{{ $row['method'] }}
{{ $row['title'] }}
|
|
{{ $row['date'] }} |
@if ($row['kind'] === 'payment')
@else
@endif
|
@empty
| No pending approval requests. |
@endforelse
All completed approvals and paid withdrawals.
| User |
Type |
Details |
Amount |
Status |
Submitted |
Reviewed |
@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
|
{{ $row['user'] }}
{{ $row['email'] }}
|
{{ $row['type'] }} |
{{ $row['method'] }}
{{ $row['title'] }}
|
|
{{ $row['date'] }} |
{{ $row['reviewed'] }} |
@empty
| No approved requests yet. |
@endforelse
@endsection