summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src
diff options
context:
space:
mode:
Diffstat (limited to 'packages/taler-wallet-webextension/src')
-rw-r--r--packages/taler-wallet-webextension/src/cta/Refund/views.tsx4
-rw-r--r--packages/taler-wallet-webextension/src/wallet/History.tsx44
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 &nbsp; <Amount value={state.amount} />
+ Accept &nbsp; <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) {