From 1d4815c66c395f4fcc86c30e20f3d005e3cb9ff5 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Mon, 15 Nov 2021 11:18:58 -0300 Subject: prettier --- .../src/wallet/Transaction.tsx | 442 ++++++++++++++------- 1 file changed, 302 insertions(+), 140 deletions(-) (limited to 'packages/taler-wallet-webextension/src/wallet/Transaction.tsx') diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx index cf41efb59..7de6982e7 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx @@ -14,27 +14,43 @@ TALER; see the file COPYING. If not, see */ -import { AmountLike, Amounts, i18n, Transaction, TransactionType } from "@gnu-taler/taler-util"; +import { + AmountLike, + Amounts, + i18n, + Transaction, + TransactionType, +} from "@gnu-taler/taler-util"; import { format } from "date-fns"; -import { JSX, VNode } from "preact"; -import { route } from 'preact-router'; +import { JSX, VNode, h } from "preact"; +import { route } from "preact-router"; import { useEffect, useState } from "preact/hooks"; import emptyImg from "../../static/img/empty.png"; import { ErrorMessage } from "../components/ErrorMessage"; import { Part } from "../components/Part"; -import { ButtonBox, ButtonBoxDestructive, ButtonPrimary, FontIcon, ListOfProducts, RowBorderGray, SmallLightText, WalletBox, WarningBox } from "../components/styled"; +import { + ButtonBox, + ButtonBoxDestructive, + ButtonPrimary, + FontIcon, + ListOfProducts, + RowBorderGray, + SmallLightText, + WalletBox, + WarningBox, +} from "../components/styled"; import { Pages } from "../NavigationBar"; import * as wxApi from "../wxApi"; -export function TransactionPage({ tid }: { tid: string; }): JSX.Element { - const [transaction, setTransaction] = useState< - Transaction | undefined - >(undefined); +export function TransactionPage({ tid }: { tid: string }): JSX.Element { + const [transaction, setTransaction] = useState( + undefined, + ); useEffect(() => { const fetchData = async (): Promise => { const res = await wxApi.getTransactions(); - const ts = res.transactions.filter(t => t.transactionId === tid); + const ts = res.transactions.filter((t) => t.transactionId === tid); if (ts.length === 1) { setTransaction(ts[0]); } else { @@ -45,13 +61,22 @@ export function TransactionPage({ tid }: { tid: string; }): JSX.Element { }, [tid]); if (!transaction) { - return
Loading ...
; + return ( +
+ Loading ... +
+ ); } - return wxApi.deleteTransaction(tid).then(_ => history.go(-1))} - onRetry={() => wxApi.retryTransaction(tid).then(_ => history.go(-1))} - onBack={() => { route(Pages.history) }} />; + return ( + wxApi.deleteTransaction(tid).then((_) => history.go(-1))} + onRetry={() => wxApi.retryTransaction(tid).then((_) => history.go(-1))} + onBack={() => { + route(Pages.history); + }} + /> + ); } export interface WalletTransactionProps { @@ -61,173 +86,310 @@ export interface WalletTransactionProps { onBack: () => void; } -export function TransactionView({ transaction, onDelete, onRetry, onBack }: WalletTransactionProps) { - +export function TransactionView({ + transaction, + onDelete, + onRetry, + onBack, +}: WalletTransactionProps) { function TransactionTemplate({ children }: { children: VNode[] }) { - return -
- - {transaction.pending && This transaction is not completed} -
-
-
- {children} -
-
-
- -
- {transaction?.error ? retry : null} - 🗑 -
-
-
+ return ( + +
+ + {transaction.pending && ( + This transaction is not completed + )} +
+
+
{children}
+
+
+ + + {" "} + {" "} + + +
+ {transaction?.error ? ( + + retry + + ) : null} + + 🗑 + +
+
+
+ ); } function amountToString(text: AmountLike) { - const aj = Amounts.jsonifyAmount(text) - const amount = Amounts.stringifyValue(aj) - return `${amount} ${aj.currency}` + const aj = Amounts.jsonifyAmount(text); + const amount = Amounts.stringifyValue(aj); + return `${amount} ${aj.currency}`; } - if (transaction.type === TransactionType.Withdrawal) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountRaw), Amounts.parseOrThrow(transaction.amountEffective), - ).amount - return -

Withdrawal

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - - -
+ ).amount; + return ( + +

Withdrawal

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + + +
+ ); } - const showLargePic = () => { - - } + const showLargePic = () => {}; if (transaction.type === TransactionType.Payment) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountEffective), Amounts.parseOrThrow(transaction.amountRaw), - ).amount - - return -

Payment

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - - - - + ).amount; -
- {transaction.info.products && transaction.info.products.length > 0 && - - {transaction.info.products.map((p, k) => - - - -
- {p.quantity && p.quantity > 0 && x {p.quantity} {p.unit}} -
{p.description}
-
-
)} -
- } -
-
+ return ( + +

Payment

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + + + + + +
+ {transaction.info.products && transaction.info.products.length > 0 && ( + + {transaction.info.products.map((p, k) => ( + + + + +
+ {p.quantity && p.quantity > 0 && ( + + x {p.quantity} {p.unit} + + )} +
{p.description}
+
+
+ ))} +
+ )} +
+
+ ); } if (transaction.type === TransactionType.Deposit) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountRaw), Amounts.parseOrThrow(transaction.amountEffective), - ).amount - return -

Deposit

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - -
+ ).amount; + return ( + +

Deposit

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + +
+ ); } if (transaction.type === TransactionType.Refresh) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountRaw), Amounts.parseOrThrow(transaction.amountEffective), - ).amount - return -

Refresh

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - -
+ ).amount; + return ( + +

Refresh

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + +
+ ); } if (transaction.type === TransactionType.Tip) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountRaw), Amounts.parseOrThrow(transaction.amountEffective), - ).amount - return -

Tip

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - -
+ ).amount; + return ( + +

Tip

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + +
+ ); } if (transaction.type === TransactionType.Refund) { const fee = Amounts.sub( Amounts.parseOrThrow(transaction.amountRaw), Amounts.parseOrThrow(transaction.amountEffective), - ).amount - return -

Refund

-
{transaction.timestamp.t_ms === 'never' ? 'never' : format(transaction.timestamp.t_ms, 'dd MMMM yyyy, HH:mm')}
-
- - - - - - - -

- {transaction.info.summary} -

-
- {transaction.info.products && transaction.info.products.length > 0 && - - {transaction.info.products.map((p, k) => - - - -
- {p.quantity && p.quantity > 0 && x {p.quantity} {p.unit}} -
{p.description}
-
-
)} -
- } -
-
- } + ).amount; + return ( + +

Refund

+
+ {transaction.timestamp.t_ms === "never" + ? "never" + : format(transaction.timestamp.t_ms, "dd MMMM yyyy, HH:mm")} +
+
+ + + + + + +

{transaction.info.summary}

+
+ {transaction.info.products && transaction.info.products.length > 0 && ( + + {transaction.info.products.map((p, k) => ( + + + + +
+ {p.quantity && p.quantity > 0 && ( + + x {p.quantity} {p.unit} + + )} +
{p.description}
+
+
+ ))} +
+ )} +
+
+ ); + } - return
+ return
; } -- cgit v1.2.3