if there is not tx and no money left, then hide the currency

This commit is contained in:
Sebastian 2023-01-21 12:32:32 -03:00
parent 03b12d2b27
commit 88dbd80f85
No known key found for this signature in database
GPG Key ID: BE4FF68352439FC1
2 changed files with 33 additions and 15 deletions

View File

@ -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>

View File

@ -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] ?? [];
return rv;
}, {} as { [x: string]: Transaction[] });
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[] });
const datesWithTransaction = Object.keys(byDate);
if (balances.length === 0 || !selectedCurrency) {