diff options
author | Sebastian <sebasjm@gmail.com> | 2023-01-21 12:32:32 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2023-01-21 12:32:32 -0300 |
commit | 88dbd80f8595ede7f2368d5fe447faca7dc6ce77 (patch) | |
tree | f72ecde2ef31a0c60e9b318ce00b54730576dc30 /packages/taler-wallet-webextension | |
parent | 03b12d2b27e9d4038e2b02b303a0401160ebc632 (diff) | |
download | wallet-core-88dbd80f8595ede7f2368d5fe447faca7dc6ce77.tar.xz |
if there is not tx and no money left, then hide the currency
Diffstat (limited to 'packages/taler-wallet-webextension')
-rw-r--r-- | packages/taler-wallet-webextension/src/cta/Refund/views.tsx | 4 | ||||
-rw-r--r-- | packages/taler-wallet-webextension/src/wallet/History.tsx | 44 |
2 files changed, 33 insertions, 15 deletions
diff --git a/packages/taler-wallet-webextension/src/cta/Refund/views.tsx b/packages/taler-wallet-webextension/src/cta/Refund/views.tsx index 16e1c519c..22d49caf4 100644 --- a/packages/taler-wallet-webextension/src/cta/Refund/views.tsx +++ b/packages/taler-wallet-webextension/src/cta/Refund/views.tsx @@ -114,7 +114,7 @@ export function ReadyView(state: State.Ready): VNode { )} <Part big - title={i18n.str`Refund offered`} + title={i18n.str`Refund offered (without fee)`} text={<Amount value={state.awaitingAmount} />} kind="positive" /> @@ -131,7 +131,7 @@ export function ReadyView(state: State.Ready): VNode { onClick={state.accept.onClick} > <i18n.Translate> - Accept <Amount value={state.amount} /> + Accept <Amount value={state.awaitingAmount} /> </i18n.Translate> </Button> </section> diff --git a/packages/taler-wallet-webextension/src/wallet/History.tsx b/packages/taler-wallet-webextension/src/wallet/History.tsx index f2a239f83..e0e2d3af9 100644 --- a/packages/taler-wallet-webextension/src/wallet/History.tsx +++ b/packages/taler-wallet-webextension/src/wallet/History.tsx @@ -112,8 +112,25 @@ export function HistoryView({ }): VNode { const { i18n } = useTranslationContext(); const { pushAlertOnError } = useAlertContext(); + + const transactionByCurrency = transactions.reduce((prev, cur) => { + const c = Amounts.parseOrThrow(cur.amountEffective).currency; + if (!prev[c]) { + prev[c] = []; + } + prev[c].push(cur); + return prev; + }, {} as Record<string, Transaction[]>); + const currencies = balances - .filter((b) => Amounts.isNonZero(b.available)) + .filter((b) => { + const av = Amounts.parseOrThrow(b.available); + return ( + Amounts.isNonZero(av) || + (transactionByCurrency[av.currency] && + transactionByCurrency[av.currency].length > 0) + ); + }) .map((b) => b.available.split(":")[0]); const defaultCurrencyIndex = currencies.findIndex( @@ -129,19 +146,20 @@ export function HistoryView({ ? Amounts.jsonifyAmount(balances[currencyIndex].available) : undefined; - const byDate = transactions - .filter((t) => t.amountRaw.split(":")[0] === selectedCurrency) - .reduce((rv, x) => { - const theDate = - x.timestamp.t_s === "never" - ? 0 - : normalizeToDay(x.timestamp.t_s * 1000); - if (theDate) { - (rv[theDate] = rv[theDate] || []).push(x); - } + const ts = + selectedCurrency === undefined + ? [] + : transactionByCurrency[selectedCurrency] ?? []; + + const byDate = ts.reduce((rv, x) => { + const theDate = + x.timestamp.t_s === "never" ? 0 : normalizeToDay(x.timestamp.t_s * 1000); + if (theDate) { + (rv[theDate] = rv[theDate] || []).push(x); + } - return rv; - }, {} as { [x: string]: Transaction[] }); + return rv; + }, {} as { [x: string]: Transaction[] }); const datesWithTransaction = Object.keys(byDate); if (balances.length === 0 || !selectedCurrency) { |