taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 65228afb876d4fcec36ceabd3e6bfc1ea6f15cee
parent 774a79d9de7651b45d66e8667afe1493de7d678a
Author: Florian Dold <florian.dold@gmail.com>
Date:   Tue, 20 Feb 2018 09:33:17 +0100

render both string and JSON amounts correctly to HTML

Diffstat:
Msrc/webex/renderHtml.tsx | 17+++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)

diff --git 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 <span>{x}&nbsp;{amount.currency}</span>; +export function renderAmount(amount: AmountJson | string) { + let a; + if (typeof amount === "string") { + a = Amounts.parse(amount); + } else { + a = amount; + } + if (!a) { + return <span>(invalid amount)</span>; + } + const x = a.value + a.fraction / Amounts.fractionalBase; + return <span>{x}&nbsp;{a.currency}</span>; } -export const AmountDisplay = ({amount}: {amount: AmountJson}) => renderAmount(amount); +export const AmountDisplay = ({amount}: {amount: AmountJson | string}) => renderAmount(amount); /**