From 65228afb876d4fcec36ceabd3e6bfc1ea6f15cee Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Tue, 20 Feb 2018 09:33:17 +0100 Subject: render both string and JSON amounts correctly to HTML --- src/webex/renderHtml.tsx | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/webex') diff --git a/src/webex/renderHtml.tsx b/src/webex/renderHtml.tsx index 2e21932b0..e4686adee 100644 --- a/src/webex/renderHtml.tsx +++ b/src/webex/renderHtml.tsx @@ -48,12 +48,21 @@ import * as React from "react"; * Render amount as HTML, which non-breaking space between * decimal value and currency. */ -export function renderAmount(amount: AmountJson) { - const x = amount.value + amount.fraction / Amounts.fractionalBase; - return {x} {amount.currency}; +export function renderAmount(amount: AmountJson | string) { + let a; + if (typeof amount === "string") { + a = Amounts.parse(amount); + } else { + a = amount; + } + if (!a) { + return (invalid amount); + } + const x = a.value + a.fraction / Amounts.fractionalBase; + return {x} {a.currency}; } -export const AmountDisplay = ({amount}: {amount: AmountJson}) => renderAmount(amount); +export const AmountDisplay = ({amount}: {amount: AmountJson | string}) => renderAmount(amount); /** -- cgit v1.2.3