From 8d8d71807df6b775e5b0335eb1b2526a56d42ac6 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Wed, 14 Dec 2022 15:35:28 -0300 Subject: refactoring transaction component to standard component with test and examples --- packages/demobank-ui/src/pages/Transactions.tsx | 106 ------------------------ 1 file changed, 106 deletions(-) delete mode 100644 packages/demobank-ui/src/pages/Transactions.tsx (limited to 'packages/demobank-ui/src/pages/Transactions.tsx') diff --git a/packages/demobank-ui/src/pages/Transactions.tsx b/packages/demobank-ui/src/pages/Transactions.tsx deleted file mode 100644 index ca88abd4d..000000000 --- a/packages/demobank-ui/src/pages/Transactions.tsx +++ /dev/null @@ -1,106 +0,0 @@ -/* - This file is part of GNU Taler - (C) 2022 Taler Systems S.A. - - GNU Taler is free software; you can redistribute it and/or modify it under the - terms of the GNU General Public License as published by the Free Software - Foundation; either version 3, or (at your option) any later version. - - GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR - A PARTICULAR PURPOSE. See the GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along with - GNU Taler; see the file COPYING. If not, see - */ - -import { Logger } from "@gnu-taler/taler-util"; -import { h, VNode } from "preact"; -import { useEffect } from "preact/hooks"; -import useSWR from "swr"; -import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser"; - -const logger = new Logger("Transactions"); -/** - * Show one page of transactions. - */ -export function Transactions({ - pageNumber, - accountLabel, - balanceValue, -}: { - pageNumber: number; - accountLabel: string; - balanceValue?: string; -}): VNode { - const { i18n } = useTranslationContext(); - const { data, error, mutate } = useSWR( - `access-api/accounts/${accountLabel}/transactions?page=${pageNumber}`, - ); - useEffect(() => { - if (balanceValue) { - mutate(); - } - }, [balanceValue ?? ""]); - if (typeof error !== "undefined") { - logger.error("transactions not found error", error); - switch (error.status) { - case 404: { - return

Transactions page {pageNumber} was not found.

; - } - case 401: { - return

Wrong credentials given.

; - } - default: { - return

Transaction page {pageNumber} could not be retrieved.

; - } - } - } - if (!data) { - logger.trace(`History data of ${accountLabel} not arrived`); - return

Transactions page loading...

; - } - logger.trace(`History data of ${accountLabel}`, data); - return ( -
- - - - - - - - - - - {data.transactions.map((item: any, idx: number) => { - const sign = item.direction == "DBIT" ? "-" : ""; - const counterpart = - item.direction == "DBIT" ? item.creditorIban : item.debtorIban; - // Pattern: - // - // DD/MM YYYY subject -5 EUR - // DD/MM YYYY subject 5 EUR - const dateRegex = /^([0-9]{4})-([0-9]{2})-([0-9]{1,2})/; - const dateParse = dateRegex.exec(item.date); - const date = - dateParse !== null - ? `${dateParse[3]}/${dateParse[2]} ${dateParse[1]}` - : "date not found"; - return ( - - - - - - - ); - })} - -
{i18n.str`Date`}{i18n.str`Amount`}{i18n.str`Counterpart`}{i18n.str`Subject`}
{date} - {sign} - {item.amount} {item.currency} - {counterpart}{item.subject}
-
- ); -} -- cgit v1.2.3