diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src')
-rw-r--r-- | packages/taler-wallet-webextension/src/pages/popup.tsx | 39 | ||||
-rw-r--r-- | packages/taler-wallet-webextension/src/wxApi.ts | 8 |
2 files changed, 43 insertions, 4 deletions
diff --git a/packages/taler-wallet-webextension/src/pages/popup.tsx b/packages/taler-wallet-webextension/src/pages/popup.tsx index e833f5950..d7cdd548e 100644 --- a/packages/taler-wallet-webextension/src/pages/popup.tsx +++ b/packages/taler-wallet-webextension/src/pages/popup.tsx @@ -33,9 +33,11 @@ import { Balance, classifyTalerUri, TalerUriType, + TransactionsResponse, + Transaction, + TransactionType, } from "taler-wallet-core"; - import { abbrev, renderAmount, PageLink } from "../renderHtml"; import * as wxApi from "../wxApi"; @@ -309,9 +311,37 @@ function formatAndCapitalize(text: string): string { return text; } -const HistoryComponent = (props: any): JSX.Element => { - return <span>TBD</span>; -}; +function TransactionItem(props: { tx: Transaction }): JSX.Element { + const tx = props.tx; + return <pre>{JSON.stringify(tx)}</pre> +} + +function WalletHistory(props: any): JSX.Element { + const [transactions, setTransactions] = useState< + TransactionsResponse | undefined + >(); + + useEffect(() => { + const fetchData = async (): Promise<void> => { + const res = await wxApi.getTransactions(); + setTransactions(res); + }; + fetchData(); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + if (!transactions) { + return <div>Loading ...</div>; + } + + return ( + <div> + {transactions.transactions.map((tx) => ( + <TransactionItem tx={tx} /> + ))} + </div> + ); +} class WalletSettings extends React.Component<any, any> { render(): JSX.Element { @@ -492,6 +522,7 @@ function WalletPopup(): JSX.Element { <WalletBalanceView route="/balance" default /> <WalletSettings route="/settings" /> <WalletDebug route="/debug" /> + <WalletHistory route="/history" /> </Router> </div> </div> diff --git a/packages/taler-wallet-webextension/src/wxApi.ts b/packages/taler-wallet-webextension/src/wxApi.ts index dc78686ad..455d0b8ae 100644 --- a/packages/taler-wallet-webextension/src/wxApi.ts +++ b/packages/taler-wallet-webextension/src/wxApi.ts @@ -35,6 +35,7 @@ import { OperationFailedError, GetWithdrawalDetailsForUriRequest, WithdrawUriInfoResponse, + TransactionsResponse, } from "taler-wallet-core"; export interface ExtendedPermissionsResponse { @@ -123,6 +124,13 @@ export function getBalance(): Promise<BalancesResponse> { } /** + * Get balances for all currencies/exchanges. + */ +export function getTransactions(): Promise<TransactionsResponse> { + return callBackend("getTransactions", {}); +} + +/** * Return coins to a bank account. */ export function returnCoins(args: { |