diff options
author | Sebastian <sebasjm@gmail.com> | 2021-10-14 20:00:39 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-10-14 20:00:39 -0300 |
commit | 84ca0b1cb9742733a43d1fb8d597c3e25e876ec7 (patch) | |
tree | 43e733b0163999d9335b6ea4f146933afe431d2c | |
parent | 1f365d1c425f9c7b190f3682022a9e0817abc71b (diff) |
show summary on the history page
3 files changed, 25 insertions, 15 deletions
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} - ></TransactionLayout> + /> ); 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} - ></TransactionLayout> + /> ); case TransactionType.Refund: return ( @@ -65,7 +66,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefund} pending={tx.pending} multiCurrency={props.multiCurrency} - ></TransactionLayout> + /> ); case TransactionType.Tip: return ( @@ -78,7 +79,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageHandHeart} pending={tx.pending} multiCurrency={props.multiCurrency} - ></TransactionLayout> + /> ); case TransactionType.Refresh: return ( @@ -91,7 +92,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefresh} pending={tx.pending} multiCurrency={props.multiCurrency} - ></TransactionLayout> + /> ); case TransactionType.Deposit: return ( @@ -104,7 +105,7 @@ export function TransactionItem(props: { tx: Transaction, multiCurrency: boolean iconPath={imageRefresh} pending={tx.pending} multiCurrency={props.multiCurrency} - ></TransactionLayout> + /> ); } } @@ -118,12 +119,13 @@ function TransactionLayout(props: TransactionLayoutProps): JSX.Element { <img src={props.iconPath} /> <Column> <LargeText> - <span>{props.title}</span> + <div>{props.title}</div> + {props.subtitle && <div style={{color:'gray', fontSize:'medium', marginTop: 5}}>{props.subtitle}</div>} </LargeText> {props.pending && - <LightText style={{marginTop: 5, marginBottom: 5}}>Waiting for confirmation</LightText> + <LightText style={{ marginTop: 5, marginBottom: 5 }}>Waiting for confirmation</LightText> } - <SmallLightText>{dateStr}</SmallLightText> + <SmallLightText style={{marginTop:5 }}>{dateStr}</SmallLightText> </Column> <TransactionAmount pending={props.pending} @@ -140,6 +142,7 @@ interface TransactionLayoutProps { amount: AmountString | "unknown"; timestamp: Timestamp; title: string; + subtitle?: string; id: string; iconPath: string; pending: boolean; diff --git a/packages/taler-wallet-webextension/src/wallet/History.stories.tsx b/packages/taler-wallet-webextension/src/wallet/History.stories.tsx index c2b3bcd51..0ac4be9a6 100644 --- a/packages/taler-wallet-webextension/src/wallet/History.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/History.stories.tsx @@ -41,7 +41,7 @@ const commonTransaction = () => ({ 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: </div>} </header>} <section> - {Object.keys(byDate).map(d => { - return <Fragment> + {Object.keys(byDate).map((d,i) => { + return <Fragment key={i}> <DateSeparator>{d}</DateSeparator> {byDate[d].map((tx, i) => ( <TransactionItem key={i} tx={tx} multiCurrency={multiCurrency}/> |