summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2020-08-20 11:59:06 +0530
committerFlorian Dold <florian.dold@gmail.com>2020-08-20 11:59:06 +0530
commit57000c22141afde7eb7b13ccbd16f06d6b6eb5cd (patch)
treefc0de2a8a01bdc637325ec735e7a8f68e856532c /packages/taler-wallet-webextension
parent7ff93d8ef64d8ae832c2267192ce1f97bf914776 (diff)
downloadwallet-core-57000c22141afde7eb7b13ccbd16f06d6b6eb5cd.tar.gz
wallet-core-57000c22141afde7eb7b13ccbd16f06d6b6eb5cd.tar.bz2
wallet-core-57000c22141afde7eb7b13ccbd16f06d6b6eb5cd.zip
add auto-refund test case, fix bug detected by it
Diffstat (limited to 'packages/taler-wallet-webextension')
-rw-r--r--packages/taler-wallet-webextension/src/pages/popup.tsx39
-rw-r--r--packages/taler-wallet-webextension/src/wxApi.ts8
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: {