No transactions yet
+View and manage member credit balances
++ {searchQuery + ? 'Try a different search term' + : 'Members with credit balances will appear here'} +
+| Member | +Balance | +Updated | ++ |
|---|---|---|---|
|
+ {credit.display_name}
+ {credit.email}
+ |
+ + 0 ? 'text-emerald-600' : + credit.balance_cents < 0 ? 'text-red-600' : 'text-gray-500' + }`}> + {formatCurrency(credit.balance_cents, credit.currency)} + + | ++ {credit.updated_at + ? new Date(credit.updated_at).toLocaleDateString() + : '-'} + | +
+ |
+
Monitor booking transfer requests and their status
++ {statusFilter !== 'all' || dateRange.from || dateRange.to + ? 'Try adjusting your filters' + : 'Transfer requests will appear here when members initiate them'} +
+| From | +To | +Booking | +Status | +Created | +Expires | +
|---|---|---|---|---|---|
|
+ {transfer.from_user.display_name}
+ {transfer.from_user.email}
+ |
+
+ {transfer.to_user ? (
+ <>
+ {transfer.to_user.display_name || 'Unknown'}
+ {transfer.to_user.email || '-'}
+ >
+ ) : (
+ Open offer
+ )}
+ |
+
+ {transfer.booking_info.court_name}
+
+ {transfer.booking_info.sport_name}
+ {transfer.booking_info.starts_at && (
+ <> · {new Date(transfer.booking_info.starts_at).toLocaleDateString()}>
+ )}
+
+ |
+ + {getStatusBadge(transfer.status)} + | ++ {formatDateTime(transfer.created_at)} + | ++ {transfer.status === 'pending' + ? formatDateTime(transfer.expires_at) + : transfer.resolved_at + ? formatDateTime(transfer.resolved_at) + : '-'} + | +