All files / src/constants wallet.ts

94.44% Statements 17/18
100% Branches 0/0
50% Functions 1/2
94.44% Lines 17/18

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113          13x   18x         13x 13x     13x             13x             13x           13x             13x               13x               13x           13x           13x           13x     13x                     13x                 13x                        
/**
 * Constants for wallet-related functionality
 */
 
// Query keys for React Query
export const WALLET_QUERY_KEYS = {
  ALL: ['wallet'] as const,
  BALANCE: () => [...WALLET_QUERY_KEYS.ALL, 'balance'] as const,
  TRANSACTIONS: () => [...WALLET_QUERY_KEYS.ALL, 'transactions'] as const,
};
 
// Currency constants
export const DEFAULT_CURRENCY = 'USD';
export const DEFAULT_LOCALE = 'en-US';
 
// Transaction types
export const TRANSACTION_TYPES = {
  DEPOSIT: 'deposit',
  WITHDRAWAL: 'withdrawal',
  TRANSFER: 'transfer',
};
 
// Transaction statuses
export const TRANSACTION_STATUS = {
  PENDING: 'pending',
  COMPLETED: 'completed',
  FAILED: 'failed',
};
 
// Withdrawal methods
export const WITHDRAWAL_METHODS = {
  BANK: 'bank',
  CRYPTO: 'crypto',
};
 
// Balance thresholds
export const WALLET_BALANCE_THRESHOLDS = {
  EXCELLENT: 1000,
  GOOD: 500,
  WARNING: 100,
};
 
// Wallet health statuses
export const WALLET_HEALTH_STATUS = {
  EXCELLENT: 'excellent',
  GOOD: 'good',
  WARNING: 'warning',
  CRITICAL: 'critical',
};
 
// Wallet health colors
export const WALLET_HEALTH_COLORS = {
  EXCELLENT: 'text-green-600',
  GOOD: 'text-blue-600',
  WARNING: 'text-yellow-600',
  CRITICAL: 'text-red-600',
};
 
// Withdrawal constraints
export const WITHDRAWAL_CONSTRAINTS = {
  MINIMUM_AMOUNT: 10,
  MINIMUM_BALANCE: 5,
};
 
// Wallet section titles
export const WALLET_SECTION_TITLES = {
  TOTAL_EARNINGS: 'Total Earnings',
  AVAILABLE_BALANCE: 'Available Balance',
};
 
// Wallet section descriptions
export const WALLET_SECTION_DESCRIPTIONS = {
  TOTAL_EARNINGS: 'Total sum of all transactions on GOGE AFRICA',
  AVAILABLE_BALANCE: 'Current balance available in your wallet',
};
 
// Wallet page header
export const WALLET_PAGE_HEADER = 'Wallet';
 
// Error messages
export const WALLET_ERROR_MESSAGES = {
  INVALID_AMOUNT: 'Please enter a valid amount greater than 0',
  EXCEEDS_BALANCE: 'Withdrawal amount exceeds available balance',
  MINIMUM_WITHDRAWAL: `Minimum withdrawal amount is $${WITHDRAWAL_CONSTRAINTS.MINIMUM_AMOUNT}.00`,
  LOAD_FAILURE: 'Failed to fetch wallet data',
  WITHDRAWAL_FAILURE: 'Withdrawal failed',
  INSUFFICIENT_FUNDS: 'Insufficient funds in your wallet',
  SERVICE_UNAVAILABLE: 'Withdrawal service temporarily unavailable',
};
 
// Wallet button labels
export const WALLET_BUTTON_LABELS = {
  WITHDRAW_FUNDS: 'Withdraw Funds',
  PROCESSING: 'Processing...',
  WITHDRAW: 'Withdraw',
  CANCEL: 'Cancel',
  MAX: 'MAX',
};
 
// Dialog labels
export const WALLET_DIALOG_LABELS = {
  WITHDRAW_TITLE: 'Withdraw Funds',
  AVAILABLE_BALANCE: 'Available balance:',
  AMOUNT_LABEL: 'Amount',
  WITHDRAWAL_METHOD: 'Withdrawal Method',
  BANK_TRANSFER: 'Bank Transfer',
  CRYPTO_WALLET: 'Crypto Wallet',
  BANK_ACCOUNT: 'Bank Account',
  WALLET_ADDRESS: 'Wallet Address',
  BANK_PLACEHOLDER: 'Account number or IBAN',
  CRYPTO_PLACEHOLDER: 'Cryptocurrency wallet address',
};