diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/cta/Withdraw')
3 files changed, 11 insertions, 37 deletions
diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/index.ts b/packages/taler-wallet-webextension/src/cta/Withdraw/index.ts index d38c27a2f..9de9c693a 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw/index.ts +++ b/packages/taler-wallet-webextension/src/cta/Withdraw/index.ts @@ -17,25 +17,25 @@ import { AmountJson } from "@gnu-taler/taler-util"; import { Loading } from "../../components/Loading.js"; import { HookError } from "../../hooks/useAsyncAsHook.js"; +import { + State as SelectExchangeState +} from "../../hooks/useSelectedExchange.js"; import { ButtonHandler, SelectFieldHandler } from "../../mui/handlers.js"; import { compose, StateViewMap } from "../../utils/index.js"; import * as wxApi from "../../wxApi.js"; import { Props as TermsOfServiceSectionProps } from "../TermsOfServiceSection.js"; import { useComponentStateFromParams, - useComponentStateFromURI, + useComponentStateFromURI } from "./state.js"; -import { - State as SelectExchangeState -} from "../../hooks/useSelectedExchange.js"; +import { ExchangeSelectionPage } from "../../wallet/ExchangeSelection/index.js"; import { - LoadingExchangeView, LoadingInfoView, LoadingUriView, - SuccessView, + SuccessView } from "./views.js"; -import { ExchangeSelectionPage } from "../../wallet/ExchangeSelection/index.js"; +import { NoExchangesView } from "../../wallet/ExchangeSelection/views.js"; export interface PropsFromURI { talerWithdrawUri: string | undefined; @@ -52,8 +52,8 @@ export interface PropsFromParams { export type State = | State.Loading | State.LoadingUriError - | State.LoadingExchangeError | State.LoadingInfoError + | SelectExchangeState.NoExchange | SelectExchangeState.Selecting | State.Success; @@ -66,10 +66,6 @@ export namespace State { status: "loading-error"; error: HookError; } - export interface LoadingExchangeError { - status: "no-exchange"; - error: undefined, - } export interface LoadingInfoError { status: "loading-info"; error: HookError; @@ -100,8 +96,8 @@ export namespace State { const viewMapping: StateViewMap<State> = { loading: Loading, "loading-error": LoadingUriView, - "no-exchange": LoadingExchangeView, "loading-info": LoadingInfoView, + "no-exchange": NoExchangesView, "selecting-exchange": ExchangeSelectionPage, success: SuccessView, }; diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts b/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts index 2e68d056e..5b5c11182 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts +++ b/packages/taler-wallet-webextension/src/cta/Withdraw/state.ts @@ -36,8 +36,6 @@ export function useComponentStateFromParams( return { amount: Amounts.parseOrThrow(amount), exchanges }; }); - console.log("uri info", uriInfoHook) - if (!uriInfoHook) return { status: "loading", error: undefined }; if (uriInfoHook.hasError) { @@ -80,7 +78,6 @@ export function useComponentStateFromURI( return { talerWithdrawUri, amount: Amounts.parseOrThrow(amount), thisExchange: defaultExchangeBaseUrl, exchanges }; }); - console.log("uri info", uriInfoHook) if (!uriInfoHook) return { status: "loading", error: undefined }; if (uriInfoHook.hasError) { @@ -111,20 +108,11 @@ type ManualOrManagedWithdrawFunction = (exchange: string, ageRestricted: number function exchangeSelectionState(doWithdraw: ManualOrManagedWithdrawFunction, cancel: () => Promise<void>, onSuccess: (txid: string) => Promise<void>, talerWithdrawUri: string | undefined, chosenAmount: AmountJson, exchangeList: ExchangeListItem[], defaultExchange: string | undefined, api: typeof wxApi,): RecursiveState<State> { - //FIXME: use substates here const selectedExchange = useSelectedExchange({ currency: chosenAmount.currency, defaultExchange, list: exchangeList }) - if (selectedExchange.status === 'no-exchange') { - return { - status: "no-exchange", - error: undefined, - } - } - - if (selectedExchange.status === 'selecting-exchange') { + if (selectedExchange.status !== 'ready') { return selectedExchange } - console.log("exchange selected", selectedExchange.selected) return () => { @@ -142,7 +130,7 @@ function exchangeSelectionState(doWithdraw: ManualOrManagedWithdrawFunction, can return { state }; }, []); - console.log("terms", terms) + /** * With the exchange and amount, ask the wallet the information * about the withdrawal diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx index 82d6090e5..1e8284739 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx +++ b/packages/taler-wallet-webextension/src/cta/Withdraw/views.tsx @@ -53,16 +53,6 @@ export function LoadingUriView({ error }: State.LoadingUriError): VNode { ); } -export function LoadingExchangeView(p: State.LoadingExchangeError): VNode { - const { i18n } = useTranslationContext(); - - return ( - <ErrorMessage - title={<i18n.Translate>Could not get a default exchange, please check configuration</i18n.Translate>} - /> - ); -} - export function LoadingInfoView({ error }: State.LoadingInfoError): VNode { const { i18n } = useTranslationContext(); |