From 57000c22141afde7eb7b13ccbd16f06d6b6eb5cd Mon Sep 17 00:00:00 2001
From: Florian Dold <florian.dold@gmail.com>
Date: Thu, 20 Aug 2020 11:59:06 +0530
Subject: add auto-refund test case, fix bug detected by it

---
 .../taler-wallet-webextension/src/pages/popup.tsx  | 39 +++++++++++++++++++---
 1 file changed, 35 insertions(+), 4 deletions(-)

(limited to 'packages/taler-wallet-webextension/src/pages/popup.tsx')

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>
-- 
cgit v1.2.3

