diff --git a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx index d01ce7ca0..fd5c0cfe3 100644 --- a/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx +++ b/packages/taler-wallet-webextension/src/wallet/ExchangeSelection/views.tsx @@ -19,6 +19,7 @@ import { styled } from "@linaria/react"; import { Fragment, h, VNode } from "preact"; import { useState } from "preact/hooks"; import { Amount } from "../../components/Amount.js"; +import { AlertView } from "../../components/CurrentAlerts.js"; import { ErrorMessage } from "../../components/ErrorMessage.js"; import { SelectList } from "../../components/SelectList.js"; import { Input, SvgIcon } from "../../components/styled/index.js"; @@ -144,11 +145,23 @@ export function NoExchangesView({ }: SelectExchangeState.NoExchange): VNode { const { i18n } = useTranslationContext(); if (!currency) { - return ; + return ( + + ); } return ( - ); } diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx index cc2ed9013..f2ebb3919 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.stories.tsx @@ -221,6 +221,14 @@ const transactionError = { message: "Unexpected error code in response", }; +const kycError = { + code: 7025, + hint: "KYC check required for withdrawal", + kycUrl: + "http://localhost:6666/oauth/v2/login?client_id=taler-exchange&redirect_uri=http%3A%2F%2Flocalhost%3A8081%2F%2Fkyc-proof%2F59WFS5VXXY3CEE25BM45XPB7ZCDQZNZ46PJCMNXK05P65T9M1X90%2FKYC-PROVIDER-MYPROV%2F1", + when: AbsoluteTime.now(), +}; + export const Withdraw = tests.createExample(TestedComponent, { transaction: exampleData.withdraw, }); @@ -257,6 +265,12 @@ export const WithdrawError = tests.createExample(TestedComponent, { }, }); +export const WithdrawErrorKYC = tests.createExample(TestedComponent, { + transaction: { + ...exampleData.withdraw, + error: kycError, + }, +}); // export const WithdrawErrorInDevMode = tests.createExampleInCustomContext( // TestedComponent, // { diff --git a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx index f22f3b4ee..c6fa9ec68 100644 --- a/packages/taler-wallet-webextension/src/wallet/Transaction.tsx +++ b/packages/taler-wallet-webextension/src/wallet/Transaction.tsx @@ -44,7 +44,7 @@ import emptyImg from "../../static/img/empty.png"; import { Amount } from "../components/Amount.js"; import { BankDetailsByPaytoType } from "../components/BankDetailsByPaytoType.js"; import { CopyButton } from "../components/CopyButton.js"; -import { ErrorAlertView } from "../components/CurrentAlerts.js"; +import { AlertView, ErrorAlertView } from "../components/CurrentAlerts.js"; import { Loading } from "../components/Loading.js"; import { Kind, Part, PartCollapsible, PartPayto } from "../components/Part.js"; import { QR } from "../components/QR.js"; @@ -199,12 +199,33 @@ export function TransactionView({
{transaction?.error ? ( - + transaction.error.code === 7025 ? ( + + + Follow this link to the{` `} + KYC verifier + + + ) : ( + i18n.str`No more information has been provided` + ), + }} + /> + ) : ( + + ) ) : undefined} {transaction.pending && (