currency.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. const CURRENCY_SYMBOLS: Record<string, string> = {
  2. USD: '$',
  3. EUR: '€',
  4. GBP: '£',
  5. CHF: 'Fr.',
  6. JPY: '¥',
  7. CNY: '¥',
  8. CAD: '$',
  9. AUD: '$',
  10. INR: '₹',
  11. HKD: 'HK$',
  12. KRW: '₩',
  13. SEK: 'kr',
  14. NOK: 'kr',
  15. DKK: 'kr',
  16. PLN: 'zł',
  17. BRL: 'R$',
  18. TWD: 'NT$',
  19. SGD: 'S$',
  20. NZD: 'NZ$',
  21. MXN: 'MX$',
  22. CZK: 'Kč',
  23. THB: '฿',
  24. ZAR: 'R',
  25. TRY: '₺',
  26. RUB: '₽',
  27. };
  28. export function getCurrencySymbol(currencyCode: string): string {
  29. return CURRENCY_SYMBOLS[currencyCode.toUpperCase()] || currencyCode;
  30. }
  31. export const SUPPORTED_CURRENCIES = [
  32. { code: 'USD', label: 'USD ($)' },
  33. { code: 'EUR', label: 'EUR (€)' },
  34. { code: 'GBP', label: 'GBP (£)' },
  35. { code: 'CHF', label: 'CHF (Fr.)' },
  36. { code: 'JPY', label: 'JPY (¥)' },
  37. { code: 'CNY', label: 'CNY (¥)' },
  38. { code: 'CAD', label: 'CAD ($)' },
  39. { code: 'AUD', label: 'AUD ($)' },
  40. { code: 'INR', label: 'INR (₹)' },
  41. { code: 'HKD', label: 'HKD (HK$)' },
  42. { code: 'KRW', label: 'KRW (₩)' },
  43. { code: 'SEK', label: 'SEK (kr)' },
  44. { code: 'NOK', label: 'NOK (kr)' },
  45. { code: 'DKK', label: 'DKK (kr)' },
  46. { code: 'PLN', label: 'PLN (zł)' },
  47. { code: 'BRL', label: 'BRL (R$)' },
  48. { code: 'TWD', label: 'TWD (NT$)' },
  49. { code: 'SGD', label: 'SGD (S$)' },
  50. { code: 'NZD', label: 'NZD (NZ$)' },
  51. { code: 'MXN', label: 'MXN (MX$)' },
  52. { code: 'CZK', label: 'CZK (Kč)' },
  53. { code: 'THB', label: 'THB (฿)' },
  54. { code: 'ZAR', label: 'ZAR (R)' },
  55. { code: 'TRY', label: 'TRY (₺)' },
  56. { code: 'RUB', label: 'RUB (₽)' },
  57. ] as const;