From be741548a5c9325164bccc90056d490e85842e69 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Fri, 8 Dec 2023 12:57:28 -0300 Subject: error handling --- .../demobank-ui/src/components/Cashouts/index.ts | 13 ++++--------- .../demobank-ui/src/components/Cashouts/views.tsx | 17 ++++------------- .../src/components/EmptyComponentExample/views.tsx | 1 - .../src/components/ErrorLoadingWithDebug.tsx | 4 ++-- .../demobank-ui/src/components/Transactions/index.ts | 7 ++++--- .../src/components/Transactions/views.tsx | 19 +++++-------------- packages/demobank-ui/src/context/config.ts | 3 +-- packages/demobank-ui/src/pages/AccountPage/index.ts | 7 +++---- .../demobank-ui/src/pages/OperationState/index.ts | 9 ++++----- packages/demobank-ui/src/pages/WireTransfer.tsx | 12 +++++------- .../src/pages/WithdrawalConfirmationQuestion.tsx | 20 +++++++++----------- packages/demobank-ui/src/pages/WithdrawalQRCode.tsx | 7 ++----- .../src/pages/account/ShowAccountDetails.tsx | 8 ++------ packages/demobank-ui/src/pages/admin/AccountList.tsx | 7 ++----- packages/demobank-ui/src/pages/admin/AdminHome.tsx | 8 ++++---- .../demobank-ui/src/pages/admin/RemoveAccount.tsx | 4 ++-- .../demobank-ui/src/pages/business/CreateCashout.tsx | 5 +---- .../src/pages/business/ShowCashoutDetails.tsx | 16 +++++++--------- 18 files changed, 61 insertions(+), 106 deletions(-) diff --git a/packages/demobank-ui/src/components/Cashouts/index.ts b/packages/demobank-ui/src/components/Cashouts/index.ts index ca58de98f..571f23184 100644 --- a/packages/demobank-ui/src/components/Cashouts/index.ts +++ b/packages/demobank-ui/src/components/Cashouts/index.ts @@ -14,14 +14,11 @@ GNU Taler; see the file COPYING. If not, see */ -import { ErrorLoading, HttpError, utils } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; -// import { compose, StateViewMap } from "../../utils/index.js"; -// import { wxApi } from "../../wxApi.js"; +import { Loading, utils } from "@gnu-taler/web-util/browser"; import { AbsoluteTime, AmountJson, TalerCoreBankErrorsByMethod, TalerCorebankApi, TalerError } from "@gnu-taler/taler-util"; +import { ErrorLoadingWithDebug } from "../ErrorLoadingWithDebug.js"; import { useComponentState } from "./state.js"; -import { FailedView, LoadingUriView, ReadyView } from "./views.js"; -import { h } from "preact"; +import { FailedView, ReadyView } from "./views.js"; export interface Props { account: string; @@ -67,9 +64,7 @@ export interface Transaction { const viewMapping: utils.StateViewMap = { loading: Loading, - "loading-error": ({error}) => { - return h(ErrorLoading, {error, showDetail:true}); - }, + "loading-error": ErrorLoadingWithDebug, "failed": FailedView, ready: ReadyView, }; diff --git a/packages/demobank-ui/src/components/Cashouts/views.tsx b/packages/demobank-ui/src/components/Cashouts/views.tsx index 115a2e014..341c43b48 100644 --- a/packages/demobank-ui/src/components/Cashouts/views.tsx +++ b/packages/demobank-ui/src/components/Cashouts/views.tsx @@ -15,23 +15,14 @@ */ import { Amounts, TalerError, assertUnreachable } from "@gnu-taler/taler-util"; -import { Attention, ErrorLoading, Loading, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Attention, Loading, useTranslationContext } from "@gnu-taler/web-util/browser"; import { format } from "date-fns"; -import { Fragment, h, VNode } from "preact"; -import { RenderAmount } from "../../pages/PaytoWireTransferForm.js"; -import { State } from "./index.js"; +import { Fragment, VNode, h } from "preact"; import { useConversionInfo } from "../../hooks/circuit.js"; +import { RenderAmount } from "../../pages/PaytoWireTransferForm.js"; import { ErrorLoadingWithDebug } from "../ErrorLoadingWithDebug.js"; +import { State } from "./index.js"; -export function LoadingUriView({ error }: State.LoadingUriError): VNode { - const { i18n } = useTranslationContext(); - - return ( -
- Could not load -
- ); -} export function FailedView({ error }: State.Failed) { const { i18n } = useTranslationContext(); switch (error.case) { diff --git a/packages/demobank-ui/src/components/EmptyComponentExample/views.tsx b/packages/demobank-ui/src/components/EmptyComponentExample/views.tsx index 6c2ce8013..5e0a5f0d2 100644 --- a/packages/demobank-ui/src/components/EmptyComponentExample/views.tsx +++ b/packages/demobank-ui/src/components/EmptyComponentExample/views.tsx @@ -23,7 +23,6 @@ export function LoadingUriView({ error }: State.LoadingUriError): VNode { return (
- Could not load
); } diff --git a/packages/demobank-ui/src/components/ErrorLoadingWithDebug.tsx b/packages/demobank-ui/src/components/ErrorLoadingWithDebug.tsx index 8cdac4561..25e79e9e0 100644 --- a/packages/demobank-ui/src/components/ErrorLoadingWithDebug.tsx +++ b/packages/demobank-ui/src/components/ErrorLoadingWithDebug.tsx @@ -1,7 +1,7 @@ +import { TalerError } from "@gnu-taler/taler-util"; import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { usePreferences } from "../hooks/preferences.js"; import { VNode, h } from "preact"; -import { TalerError } from "@gnu-taler/taler-util"; +import { usePreferences } from "../hooks/preferences.js"; export function ErrorLoadingWithDebug({ error }: { error: TalerError }): VNode { const [pref] = usePreferences(); diff --git a/packages/demobank-ui/src/components/Transactions/index.ts b/packages/demobank-ui/src/components/Transactions/index.ts index b95aa4cb1..b6a78deb1 100644 --- a/packages/demobank-ui/src/components/Transactions/index.ts +++ b/packages/demobank-ui/src/components/Transactions/index.ts @@ -14,10 +14,11 @@ GNU Taler; see the file COPYING. If not, see */ -import { Loading, utils } from "@gnu-taler/web-util/browser"; import { AbsoluteTime, AmountJson, TalerError } from "@gnu-taler/taler-util"; +import { Loading, utils } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../ErrorLoadingWithDebug.js"; import { useComponentState } from "./state.js"; -import { LoadingUriView, ReadyView } from "./views.js"; +import { ReadyView } from "./views.js"; export interface Props { account: string; @@ -58,7 +59,7 @@ export interface Transaction { const viewMapping: utils.StateViewMap = { loading: Loading, - "loading-error": LoadingUriView, + "loading-error": ErrorLoadingWithDebug, ready: ReadyView, }; diff --git a/packages/demobank-ui/src/components/Transactions/views.tsx b/packages/demobank-ui/src/components/Transactions/views.tsx index 1613cb06a..8a8a8f72e 100644 --- a/packages/demobank-ui/src/components/Transactions/views.tsx +++ b/packages/demobank-ui/src/components/Transactions/views.tsx @@ -17,23 +17,14 @@ import { useTranslationContext } from "@gnu-taler/web-util/browser"; import { format } from "date-fns"; import { Fragment, h, VNode } from "preact"; -import { doAutoFocus, RenderAmount } from "../../pages/PaytoWireTransferForm.js"; -import { State } from "./index.js"; import { useBankCoreApiContext } from "../../context/config.js"; +import { RenderAmount } from "../../pages/PaytoWireTransferForm.js"; +import { State } from "./index.js"; -export function LoadingUriView({ error }: State.LoadingUriError): VNode { - const { i18n } = useTranslationContext(); - - return ( -
- Could not load -
- ); -} export function ReadyView({ transactions, onNext, onPrev }: State.Ready): VNode { const { i18n } = useTranslationContext(); - const {config} = useBankCoreApiContext(); + const { config } = useBankCoreApiContext(); if (!transactions.length) return
const txByDate = transactions.reduce((prev, cur) => { const d = cur.when.t_ms === "never" @@ -80,7 +71,7 @@ export function ReadyView({ transactions, onNext, onPrev }: State.Ready): VNode
{item.negative ? i18n.str`sent` : i18n.str`received`} {item.amount ? ( - + ) : ( <{i18n.str`invalid value`}> @@ -101,7 +92,7 @@ export function ReadyView({ transactions, onNext, onPrev }: State.Ready): VNode - {item.amount ? ( + {item.amount ? ( ) : ( <{i18n.str`invalid value`}> )} diff --git a/packages/demobank-ui/src/context/config.ts b/packages/demobank-ui/src/context/config.ts index e06ba5125..9908c73a2 100644 --- a/packages/demobank-ui/src/context/config.ts +++ b/packages/demobank-ui/src/context/config.ts @@ -15,10 +15,9 @@ */ import { TalerCorebankApi, TalerCoreBankHttpClient, TalerError } from "@gnu-taler/taler-util"; -import { BrowserHttpLib, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { BrowserHttpLib, ErrorLoading, useTranslationContext } from "@gnu-taler/web-util/browser"; import { ComponentChildren, createContext, FunctionComponent, h, VNode } from "preact"; import { useContext, useEffect, useState } from "preact/hooks"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; /** * diff --git a/packages/demobank-ui/src/pages/AccountPage/index.ts b/packages/demobank-ui/src/pages/AccountPage/index.ts index 3a3001ad4..7261af69a 100644 --- a/packages/demobank-ui/src/pages/AccountPage/index.ts +++ b/packages/demobank-ui/src/pages/AccountPage/index.ts @@ -15,9 +15,8 @@ */ import { AbsoluteTime, AmountJson, TalerCorebankApi, TalerError } from "@gnu-taler/taler-util"; -import { utils } from "@gnu-taler/web-util/browser"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { Loading, utils } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { LoginForm } from "../LoginForm.js"; import { useComponentState } from "./state.js"; import { InvalidIbanView, ReadyView } from "./views.js"; @@ -76,7 +75,7 @@ const viewMapping: utils.StateViewMap = { loading: Loading, "login": LoginForm, "invalid-iban": InvalidIbanView, - "loading-error": ErrorLoading, + "loading-error": ErrorLoadingWithDebug, ready: ReadyView, }; diff --git a/packages/demobank-ui/src/pages/OperationState/index.ts b/packages/demobank-ui/src/pages/OperationState/index.ts index 15b4efaac..e3aec21c5 100644 --- a/packages/demobank-ui/src/pages/OperationState/index.ts +++ b/packages/demobank-ui/src/pages/OperationState/index.ts @@ -14,10 +14,9 @@ GNU Taler; see the file COPYING. If not, see */ -import { AbsoluteTime, AmountJson, TalerCoreBankErrorsByMethod, TalerError, TalerErrorDetail, TranslatedString, WithdrawUriResult } from "@gnu-taler/taler-util"; -import { utils } from "@gnu-taler/web-util/browser"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { AbsoluteTime, AmountJson, TalerCoreBankErrorsByMethod, TalerError, WithdrawUriResult } from "@gnu-taler/taler-util"; +import { Loading, utils } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useComponentState } from "./state.js"; import { AbortedView, ConfirmedView, FailedView, InvalidPaytoView, InvalidReserveView, InvalidWithdrawalView, NeedConfirmationView, ReadyView } from "./views.js"; @@ -119,7 +118,7 @@ const viewMapping: utils.StateViewMap = { "need-confirmation": NeedConfirmationView, "aborted": AbortedView, "confirmed": ConfirmedView, - "loading-error": ErrorLoading, + "loading-error": ErrorLoadingWithDebug, ready: ReadyView, }; diff --git a/packages/demobank-ui/src/pages/WireTransfer.tsx b/packages/demobank-ui/src/pages/WireTransfer.tsx index 88bdc70a6..7648df482 100644 --- a/packages/demobank-ui/src/pages/WireTransfer.tsx +++ b/packages/demobank-ui/src/pages/WireTransfer.tsx @@ -1,14 +1,12 @@ import { Amounts, TalerError } from "@gnu-taler/taler-util"; -import { notifyInfo, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Loading, notifyInfo, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; import { useAccountDetails } from "../hooks/access.js"; -import { assertUnreachable } from "./WithdrawalOperationPage.js"; +import { useBackendState } from "../hooks/backend.js"; import { LoginForm } from "./LoginForm.js"; import { PaytoWireTransferForm } from "./PaytoWireTransferForm.js"; -import { useBackendState } from "../hooks/backend.js"; -import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; +import { assertUnreachable } from "./WithdrawalOperationPage.js"; export function WireTransfer({ toAccount, onRegister, onCancel, onSuccess }: { onSuccess?: () => void; toAccount?: string, onCancel?: () => void, onRegister?: () => void }): VNode { const { i18n } = useTranslationContext(); @@ -24,7 +22,7 @@ export function WireTransfer({ toAccount, onRegister, onCancel, onSuccess }: { o } if (result.type === "fail") { switch (result.case) { - case "unauthorized": return + case "unauthorized": return case "not-found": return default: assertUnreachable(result) } diff --git a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx index 3af619c2d..43b88ccd8 100644 --- a/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx +++ b/packages/demobank-ui/src/pages/WithdrawalConfirmationQuestion.tsx @@ -26,8 +26,9 @@ import { } from "@gnu-taler/taler-util"; import { Attention, - ErrorLoading, Loading, + LocalNotificationBanner, + ShowInputErrorLabel, notifyInfo, useLocalNotification, useTranslationContext @@ -35,19 +36,16 @@ import { import { ComponentChildren, Fragment, VNode, h } from "preact"; import { useMemo, useState } from "preact/hooks"; import { mutate } from "swr"; -import { ShowInputErrorLabel } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../context/config.js"; +import { useWithdrawalDetails } from "../hooks/access.js"; +import { useBackendState } from "../hooks/backend.js"; import { usePreferences } from "../hooks/preferences.js"; -import { undefinedIfEmpty, withRuntimeErrorHandling } from "../utils.js"; +import { undefinedIfEmpty } from "../utils.js"; +import { LoginForm } from "./LoginForm.js"; import { RenderAmount } from "./PaytoWireTransferForm.js"; import { assertUnreachable } from "./WithdrawalOperationPage.js"; -import { LocalNotificationBanner } from "@gnu-taler/web-util/browser"; -import { useBackendState } from "../hooks/backend.js"; -import { useWithdrawalDetails } from "../hooks/access.js"; -import { OperationState } from "./OperationState/index.js"; import { OperationNotFound } from "./WithdrawalQRCode.js"; -import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; -import { LoginForm } from "./LoginForm.js"; const logger = new Logger("WithdrawalConfirmationQuestion"); @@ -343,13 +341,13 @@ export function ShouldBeSameUser({ username, children }: { username: string, chi if (credentials.status === "loggedOut") { return - + } if (credentials.username !== username) { return - + } return diff --git a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx index f07790493..c5a558ab8 100644 --- a/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx +++ b/packages/demobank-ui/src/pages/WithdrawalQRCode.tsx @@ -21,16 +21,13 @@ import { WithdrawUriResult, parsePaytoUri } from "@gnu-taler/taler-util"; -import { notifyInfo, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Attention, Loading, notifyInfo, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; -import { Attention } from "@gnu-taler/web-util/browser"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; import { useWithdrawalDetails } from "../hooks/access.js"; import { QrCodeSection } from "./QrCodeSection.js"; import { WithdrawalConfirmationQuestion } from "./WithdrawalConfirmationQuestion.js"; import { assertUnreachable } from "./WithdrawalOperationPage.js"; -import { ErrorLoadingWithDebug } from "../components/ErrorLoadingWithDebug.js"; const logger = new Logger("WithdrawalQRCode"); diff --git a/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx b/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx index 994a8286e..cb03ae2a1 100644 --- a/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx +++ b/packages/demobank-ui/src/pages/account/ShowAccountDetails.tsx @@ -1,19 +1,15 @@ import { TalerCorebankApi, TalerError, TranslatedString } from "@gnu-taler/taler-util"; -import { notifyInfo, useLocalNotification, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Loading, LocalNotificationBanner, notifyInfo, useLocalNotification, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../../context/config.js"; import { useAccountDetails } from "../../hooks/access.js"; import { useBackendState } from "../../hooks/backend.js"; -import { undefinedIfEmpty, withRuntimeErrorHandling } from "../../utils.js"; import { LoginForm } from "../LoginForm.js"; import { ProfileNavigation } from "../ProfileNavigation.js"; import { assertUnreachable } from "../WithdrawalOperationPage.js"; import { AccountForm } from "../admin/AccountForm.js"; -import { LocalNotificationBanner } from "@gnu-taler/web-util/browser"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; export function ShowAccountDetails({ account, diff --git a/packages/demobank-ui/src/pages/admin/AccountList.tsx b/packages/demobank-ui/src/pages/admin/AccountList.tsx index 71f18a3db..42d3d7fca 100644 --- a/packages/demobank-ui/src/pages/admin/AccountList.tsx +++ b/packages/demobank-ui/src/pages/admin/AccountList.tsx @@ -1,14 +1,11 @@ import { Amounts, TalerError } from "@gnu-taler/taler-util"; -import { useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Loading, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../../context/config.js"; import { useBusinessAccounts } from "../../hooks/circuit.js"; import { RenderAmount } from "../PaytoWireTransferForm.js"; import { assertUnreachable } from "../WithdrawalOperationPage.js"; -import { usePreferences } from "../../hooks/preferences.js"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; interface Props { onCreateAccount: () => void; diff --git a/packages/demobank-ui/src/pages/admin/AdminHome.tsx b/packages/demobank-ui/src/pages/admin/AdminHome.tsx index 28078bc09..18e88a409 100644 --- a/packages/demobank-ui/src/pages/admin/AdminHome.tsx +++ b/packages/demobank-ui/src/pages/admin/AdminHome.tsx @@ -1,15 +1,15 @@ import { AmountString, Amounts, CurrencySpecification, TalerCorebankApi, TalerError, assertUnreachable } from "@gnu-taler/taler-util"; -import { ErrorLoading, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { useTranslationContext } from "@gnu-taler/web-util/browser"; +import { format, getDate, getHours, getMonth, getYear, setDate, setHours, setMonth, setYear, sub } from "date-fns"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { Transactions } from "../../components/Transactions/index.js"; +import { useBankCoreApiContext } from "../../context/config.js"; import { useConversionInfo, useLastMonitorInfo } from "../../hooks/circuit.js"; import { RenderAmount } from "../PaytoWireTransferForm.js"; import { WireTransfer } from "../WireTransfer.js"; import { AccountList } from "./AccountList.js"; -import { useBankCoreApiContext } from "../../context/config.js"; -import { format, getDate, getHours, getMonth, getYear, setDate, setHours, setMonth, setYear, sub } from "date-fns"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; /** diff --git a/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx b/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx index 57144177c..0d294a3a6 100644 --- a/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx +++ b/packages/demobank-ui/src/pages/admin/RemoveAccount.tsx @@ -1,7 +1,8 @@ import { Amounts, TalerError, TranslatedString } from "@gnu-taler/taler-util"; -import { Attention, ErrorLoading, Loading, LocalNotificationBanner, ShowInputErrorLabel, notifyInfo, useLocalNotification, useTranslationContext } from "@gnu-taler/web-util/browser"; +import { Attention, Loading, LocalNotificationBanner, ShowInputErrorLabel, notifyInfo, useLocalNotification, useTranslationContext } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../../context/config.js"; import { useAccountDetails } from "../../hooks/access.js"; import { useBackendState } from "../../hooks/backend.js"; @@ -9,7 +10,6 @@ import { undefinedIfEmpty } from "../../utils.js"; import { LoginForm } from "../LoginForm.js"; import { doAutoFocus } from "../PaytoWireTransferForm.js"; import { assertUnreachable } from "../WithdrawalOperationPage.js"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; export function RemoveAccount({ account, diff --git a/packages/demobank-ui/src/pages/business/CreateCashout.tsx b/packages/demobank-ui/src/pages/business/CreateCashout.tsx index 4b3077984..8987accd1 100644 --- a/packages/demobank-ui/src/pages/business/CreateCashout.tsx +++ b/packages/demobank-ui/src/pages/business/CreateCashout.tsx @@ -23,7 +23,6 @@ import { } from "@gnu-taler/taler-util"; import { Attention, - ErrorLoading, Loading, LocalNotificationBanner, ShowInputErrorLabel, @@ -33,7 +32,7 @@ import { } from "@gnu-taler/web-util/browser"; import { Fragment, VNode, h } from "preact"; import { useEffect, useState } from "preact/hooks"; -import { mutate } from "swr"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../../context/config.js"; import { useAccountDetails } from "../../hooks/access.js"; import { useBackendState } from "../../hooks/backend.js"; @@ -48,8 +47,6 @@ import { import { LoginForm } from "../LoginForm.js"; import { InputAmount, RenderAmount, doAutoFocus } from "../PaytoWireTransferForm.js"; import { assertUnreachable } from "../WithdrawalOperationPage.js"; -import { getRandomPassword, getRandomUsername } from "../rnd.js"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; interface Props { account: string; diff --git a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx index fcbf0c408..3ef835574 100644 --- a/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx +++ b/packages/demobank-ui/src/pages/business/ShowCashoutDetails.tsx @@ -19,6 +19,10 @@ import { TranslatedString } from "@gnu-taler/taler-util"; import { + Attention, + Loading, + LocalNotificationBanner, + ShowInputErrorLabel, useLocalNotification, useTranslationContext } from "@gnu-taler/web-util/browser"; @@ -26,23 +30,17 @@ import { format } from "date-fns"; import { Fragment, VNode, h } from "preact"; import { useState } from "preact/hooks"; import { mutate } from "swr"; -import { Attention } from "@gnu-taler/web-util/browser"; -import { ErrorLoading } from "@gnu-taler/web-util/browser"; -import { Loading } from "@gnu-taler/web-util/browser"; -import { ShowInputErrorLabel } from "@gnu-taler/web-util/browser"; +import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; import { useBankCoreApiContext } from "../../context/config.js"; import { useBackendState } from "../../hooks/backend.js"; import { useCashoutDetails, useConversionInfo } from "../../hooks/circuit.js"; import { - undefinedIfEmpty, - withRuntimeErrorHandling + undefinedIfEmpty } from "../../utils.js"; -import { assertUnreachable } from "../WithdrawalOperationPage.js"; -import { LocalNotificationBanner } from "@gnu-taler/web-util/browser"; import { RenderAmount } from "../PaytoWireTransferForm.js"; -import { ErrorLoadingWithDebug } from "../../components/ErrorLoadingWithDebug.js"; +import { assertUnreachable } from "../WithdrawalOperationPage.js"; interface Props { id: string; -- cgit v1.2.3