@cranberry-money/shared-utils
Version:
Shared utility functions for Blueberry platform
68 lines • 4.86 kB
JavaScript
import { UNIFIED_STATUS_COLORS, WITHDRAWAL_STATUS_PENDING_REVIEW, WITHDRAWAL_STATUS_APPROVED, WITHDRAWAL_STATUS_REJECTED, WITHDRAWAL_STATUS_PROCESSING, WITHDRAWAL_STATUS_AWAITING_LIQUIDATION, WITHDRAWAL_STATUS_LIQUIDATION_IN_PROGRESS, WITHDRAWAL_STATUS_COMPLETED, WITHDRAWAL_STATUS_CANCELLED, WITHDRAWAL_STATUS_FAILED, WITHDRAWAL_STATUS_LABEL_PENDING_REVIEW, WITHDRAWAL_STATUS_LABEL_APPROVED, WITHDRAWAL_STATUS_LABEL_REJECTED, WITHDRAWAL_STATUS_LABEL_PROCESSING, WITHDRAWAL_STATUS_LABEL_AWAITING_LIQUIDATION, WITHDRAWAL_STATUS_LABEL_LIQUIDATION_IN_PROGRESS, WITHDRAWAL_STATUS_LABEL_COMPLETED, WITHDRAWAL_STATUS_LABEL_CANCELLED, WITHDRAWAL_STATUS_LABEL_FAILED, WITHDRAWAL_TYPE_FULL_CASH, WITHDRAWAL_TYPE_PARTIAL_CASH, WITHDRAWAL_TYPE_LABEL_FULL_CASH, WITHDRAWAL_TYPE_LABEL_PARTIAL_CASH, WITHDRAWAL_REASON_INVESTMENT_STRATEGY, WITHDRAWAL_REASON_PERSONAL_EXPENSES, WITHDRAWAL_REASON_EMERGENCY, WITHDRAWAL_REASON_OTHER, WITHDRAWAL_REASON_LABEL_INVESTMENT_STRATEGY, WITHDRAWAL_REASON_LABEL_PERSONAL_EXPENSES, WITHDRAWAL_REASON_LABEL_EMERGENCY, WITHDRAWAL_REASON_LABEL_OTHER, LIQUIDATION_STATUS_PENDING, LIQUIDATION_STATUS_TRADES_CREATED, LIQUIDATION_STATUS_EXECUTED, LIQUIDATION_STATUS_SETTLED, LIQUIDATION_STATUS_FAILED, LIQUIDATION_STATUS_LABEL_PENDING, LIQUIDATION_STATUS_LABEL_TRADES_CREATED, LIQUIDATION_STATUS_LABEL_EXECUTED, LIQUIDATION_STATUS_LABEL_SETTLED, LIQUIDATION_STATUS_LABEL_FAILED, } from '@cranberry-money/shared-constants';
export const getStatusColor = (status) => {
const statusColors = {
[]: UNIFIED_STATUS_COLORS.pending,
[]: UNIFIED_STATUS_COLORS.approved,
[]: UNIFIED_STATUS_COLORS.rejected,
[]: UNIFIED_STATUS_COLORS.processing,
[]: UNIFIED_STATUS_COLORS.awaiting,
[]: UNIFIED_STATUS_COLORS.in_progress,
[]: UNIFIED_STATUS_COLORS.completed,
[]: UNIFIED_STATUS_COLORS.cancelled,
[]: UNIFIED_STATUS_COLORS.failed,
};
return statusColors[status] || UNIFIED_STATUS_COLORS.default;
};
export const getStatusLabel = (status) => {
const statusLabels = {
[]: WITHDRAWAL_STATUS_LABEL_PENDING_REVIEW,
[]: WITHDRAWAL_STATUS_LABEL_APPROVED,
[]: WITHDRAWAL_STATUS_LABEL_REJECTED,
[]: WITHDRAWAL_STATUS_LABEL_PROCESSING,
[]: WITHDRAWAL_STATUS_LABEL_AWAITING_LIQUIDATION,
[]: WITHDRAWAL_STATUS_LABEL_LIQUIDATION_IN_PROGRESS,
[]: WITHDRAWAL_STATUS_LABEL_COMPLETED,
[]: WITHDRAWAL_STATUS_LABEL_CANCELLED,
[]: WITHDRAWAL_STATUS_LABEL_FAILED,
};
return statusLabels[status] || status;
};
export const getWithdrawalTypeLabel = (type) => {
const typeLabels = {
[]: WITHDRAWAL_TYPE_LABEL_FULL_CASH,
[]: WITHDRAWAL_TYPE_LABEL_PARTIAL_CASH,
};
return typeLabels[type] || type;
};
export const getReasonLabel = (reason) => {
if (!reason)
return 'Not specified';
const reasonLabels = {
[]: WITHDRAWAL_REASON_LABEL_INVESTMENT_STRATEGY,
[]: WITHDRAWAL_REASON_LABEL_PERSONAL_EXPENSES,
[]: WITHDRAWAL_REASON_LABEL_EMERGENCY,
[]: WITHDRAWAL_REASON_LABEL_OTHER,
};
return reasonLabels[reason] || reason;
};
export const getLiquidationStatusColor = (status) => {
const statusColors = {
[]: 'text-warning-600',
[]: 'text-primary-600',
[]: 'text-accent-secondary',
[]: 'text-success-600',
[]: 'text-error-600',
};
return statusColors[status] || 'text-content-muted';
};
export const getLiquidationStatusLabel = (status) => {
const statusLabels = {
[]: LIQUIDATION_STATUS_LABEL_PENDING,
[]: LIQUIDATION_STATUS_LABEL_TRADES_CREATED,
[]: LIQUIDATION_STATUS_LABEL_EXECUTED,
[]: LIQUIDATION_STATUS_LABEL_SETTLED,
[]: LIQUIDATION_STATUS_LABEL_FAILED,
};
return statusLabels[status] || status;
};
//# sourceMappingURL=withdrawal-status.js.map