@cranberry-money/shared-utils
Version:
Shared utility functions for Blueberry platform
111 lines • 6.45 kB
JavaScript
import { TRADE_STATUS_EXECUTED, TRADE_STATUS_SETTLED, TRADE_STATUS_CANCELLED, TRADE_STATUS_FAILED, TRADE_STATUS_LABEL_EXECUTED, TRADE_STATUS_LABEL_SETTLED, TRADE_STATUS_LABEL_CANCELLED, TRADE_STATUS_LABEL_FAILED, TARGET_TRADE_STATUS_PENDING, TARGET_TRADE_STATUS_APPROVED, TARGET_TRADE_STATUS_SUBMITTED, TARGET_TRADE_STATUS_CANCELLED, TARGET_TRADE_STATUS_EXPIRED, TARGET_TRADE_STATUS_LABEL_PENDING, TARGET_TRADE_STATUS_LABEL_APPROVED, TARGET_TRADE_STATUS_LABEL_SUBMITTED, TARGET_TRADE_STATUS_LABEL_CANCELLED, TARGET_TRADE_STATUS_LABEL_EXPIRED, 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, 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';
import { createBadge } from './badge';
const TRADE_STATUS_MAPPING = {
[]: 'primary',
[]: 'success',
[]: 'error',
[]: 'error',
[]: 'warning',
[]: 'primary',
[]: 'neutral',
};
const WITHDRAWAL_STATUS_MAPPING = {
[]: 'warning',
[]: 'success',
[]: 'error',
[]: 'primary',
[]: 'warning',
[]: 'primary',
[]: 'success',
[]: 'neutral',
[]: 'error',
};
const LIQUIDATION_STATUS_MAPPING = {
[]: 'warning',
[]: 'primary',
[]: 'primary',
[]: 'success',
[]: 'error',
};
const TARGET_TRADE_STATUS_MAPPING = {
[]: 'warning',
[]: 'success',
[]: 'primary',
[]: 'error',
[]: 'neutral',
};
const TRADE_STATUS_LABELS = {
[]: TRADE_STATUS_LABEL_EXECUTED,
[]: TRADE_STATUS_LABEL_SETTLED,
[]: TRADE_STATUS_LABEL_CANCELLED,
[]: TRADE_STATUS_LABEL_FAILED,
[]: TARGET_TRADE_STATUS_LABEL_PENDING,
[]: TARGET_TRADE_STATUS_LABEL_SUBMITTED,
[]: TARGET_TRADE_STATUS_LABEL_EXPIRED,
};
const WITHDRAWAL_STATUS_LABELS = {
[]: 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,
};
const LIQUIDATION_STATUS_LABELS = {
[]: LIQUIDATION_STATUS_LABEL_PENDING,
[]: LIQUIDATION_STATUS_LABEL_TRADES_CREATED,
[]: LIQUIDATION_STATUS_LABEL_EXECUTED,
[]: LIQUIDATION_STATUS_LABEL_SETTLED,
[]: LIQUIDATION_STATUS_LABEL_FAILED,
};
const TARGET_TRADE_STATUS_LABELS = {
[]: TARGET_TRADE_STATUS_LABEL_PENDING,
[]: TARGET_TRADE_STATUS_LABEL_APPROVED,
[]: TARGET_TRADE_STATUS_LABEL_SUBMITTED,
[]: TARGET_TRADE_STATUS_LABEL_CANCELLED,
[]: TARGET_TRADE_STATUS_LABEL_EXPIRED,
};
export function getTradeStatusBadge(status, size = 'md') {
const variant = TRADE_STATUS_MAPPING[status] || 'neutral';
const badge = createBadge({ variant, size });
const displayText = TRADE_STATUS_LABELS[status] || status.charAt(0) + status.slice(1).toLowerCase();
return {
...badge,
displayText,
ariaLabel: `Trade status: ${displayText}`,
};
}
export function getWithdrawalStatusBadge(status, size = 'md') {
const variant = WITHDRAWAL_STATUS_MAPPING[status] || 'neutral';
const badge = createBadge({ variant, size });
const displayText = WITHDRAWAL_STATUS_LABELS[status] || status;
return {
...badge,
displayText,
ariaLabel: `Withdrawal status: ${displayText}`,
};
}
export function getLiquidationStatusBadge(status, size = 'md') {
const variant = LIQUIDATION_STATUS_MAPPING[status] || 'neutral';
const badge = createBadge({ variant, size });
const displayText = LIQUIDATION_STATUS_LABELS[status] || status;
return {
...badge,
displayText,
ariaLabel: `Liquidation status: ${displayText}`,
};
}
export function getTargetTradeStatusBadge(status, size = 'md') {
const variant = TARGET_TRADE_STATUS_MAPPING[status] || 'neutral';
const badge = createBadge({ variant, size });
const displayText = TARGET_TRADE_STATUS_LABELS[status] || status;
return {
...badge,
displayText,
ariaLabel: `Target trade status: ${displayText}`,
};
}
//# sourceMappingURL=badge-status.js.map