From 84ca0b1cb9742733a43d1fb8d597c3e25e876ec7 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Thu, 14 Oct 2021 20:00:39 -0300 Subject: show summary on the history page --- .../src/components/TransactionItem.tsx | 21 ++++++++++++--------- .../src/wallet/History.stories.tsx | 15 +++++++++++---- .../src/wallet/History.tsx | 4 ++-- 3 files changed, 25 insertions(+), 15 deletions(-) (limited to 'packages/taler-wallet-webextension') diff --git a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx index 2d6d8e6da..991e97c94 100644 --- a/packages/taler-wallet-webextension/src/components/TransactionItem.tsx +++ b/packages/taler-wallet-webextension/src/components/TransactionItem.tsx @@ -39,7 +39,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageBank} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); case TransactionType.Payment: return ( @@ -48,11 +48,12 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean amount={tx.amountEffective} debitCreditIndicator={"debit"} title={tx.info.merchant.name} + subtitle={tx.info.summary} timestamp={tx.timestamp} iconPath={imageShoppingCart} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); case TransactionType.Refund: return ( @@ -65,7 +66,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefund} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); case TransactionType.Tip: return ( @@ -78,7 +79,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageHandHeart} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); case TransactionType.Refresh: return ( @@ -91,7 +92,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefresh} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); case TransactionType.Deposit: return ( @@ -104,7 +105,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefresh} pending={tx.pending} multiCurrency={props.multiCurrency} - > + /> ); } } @@ -118,12 +119,13 @@ function TransactionLayout(props: TransactionLayoutProps): JSX.Element { - {props.title} +
{props.title}
+ {props.subtitle &&
{props.subtitle}
}
{props.pending && - Waiting for confirmation + Waiting for confirmation } - {dateStr} + {dateStr}
({ amountEffective: 'USD:9', pending: false, timestamp: { - t_ms: new Date().getTime() - (count++ * 1000*60*60*7) + t_ms: new Date().getTime() - (count++ * 1000 * 60 * 60 * 7) }, transactionId: '12', } as TransactionCommon) @@ -131,7 +131,8 @@ export const One = createExample(TestedComponent, { }); export const OnePending = createExample(TestedComponent, { - list: [{...exampleData.withdraw, + list: [{ + ...exampleData.withdraw, pending: true }], balances: [{ @@ -149,7 +150,13 @@ export const Several = createExample(TestedComponent, { exampleData.payment, exampleData.withdraw, exampleData.payment, - exampleData.refresh, + { + ...exampleData.payment, + info: { + ...exampleData.payment.info, + summary: 'this is a long summary that may be cropped because its too long', + }, + }, exampleData.refund, exampleData.tip, exampleData.deposit, @@ -180,7 +187,7 @@ export const SeveralWithTwoCurrencies = createExample(TestedComponent, { pendingOutgoing: 'TESTKUDOS:0', hasPendingTransactions: false, requiresUserInput: false, - },{ + }, { available: 'USD:10', pendingIncoming: 'USD:0', pendingOutgoing: 'USD:0', diff --git a/packages/taler-wallet-webextension/src/wallet/History.tsx b/packages/taler-wallet-webextension/src/wallet/History.tsx index 43b0a6630..8160f8574 100644 --- a/packages/taler-wallet-webextension/src/wallet/History.tsx +++ b/packages/taler-wallet-webextension/src/wallet/History.tsx @@ -74,8 +74,8 @@ export function HistoryView({ list, balances }: { list: Transaction[], balances: } }
- {Object.keys(byDate).map(d => { - return + {Object.keys(byDate).map((d,i) => { + return {d} {byDate[d].map((tx, i) => ( -- cgit v1.2.3