This commit is contained in:
Sebastian 2023-04-24 23:42:14 -03:00
parent 2f8de9ea86
commit 00f108b9dd
No known key found for this signature in database
GPG Key ID: 173909D1A5F66069
4 changed files with 104 additions and 13 deletions

View File

@ -395,11 +395,16 @@ export namespace MerchantBackend {
// URL that the user should open in a browser to
// proceed with the KYC process (as returned
// by the exchange's /kyc-check/ endpoint).
kyc_url: string;
// Optional, missing if the account is blocked
// due to AML and not due to KYC.
kyc_url?: string;
// Base URL of the exchange this is about.
exchange_url: string;
// AML status of the account.
aml_status: number;
// Our bank wire account this is about.
payto_uri: string;
}

View File

@ -15,3 +15,4 @@
*/
export * as details from "./details/stories.js";
export * as kycList from "./kyc/list/ListPage.stories.js";

View File

@ -0,0 +1,58 @@
/*
This file is part of GNU Taler
(C) 2021-2023 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 <http://www.gnu.org/licenses/>
*/
/**
*
* @author Sebastian Javier Marchano (sebasjm)
*/
import { h, VNode, FunctionalComponent } from "preact";
import { ListPage as TestedComponent } from "./ListPage.js";
import { tests } from "@gnu-taler/web-util/lib/index.browser";
import { MerchantBackend } from "../../../../declaration.js";
export default {
title: "Pages/KYC/List",
component: TestedComponent,
argTypes: {
onUpdate: { action: "onUpdate" },
onBack: { action: "onBack" },
},
};
export const Example = tests.createExample(TestedComponent, {
status: {
timeout_kycs: [],
pending_kycs: [
{
aml_status: 0,
exchange_url: "http://exchange.taler",
payto_uri: "payto://iban/de123123123",
kyc_url: "http://exchange.taler/kyc",
},
{
aml_status: 1,
exchange_url: "http://exchange.taler",
payto_uri: "payto://iban/de123123123",
},
{
aml_status: 2,
exchange_url: "http://exchange.taler",
payto_uri: "payto://iban/de123123123",
},
],
} as MerchantBackend.Instances.AccountKycRedirects,
});

View File

@ -106,23 +106,50 @@ function PendingTable({ entries }: PendingTableProps): VNode {
<i18n.Translate>Target account</i18n.Translate>
</th>
<th>
<i18n.Translate>KYC URL</i18n.Translate>
<i18n.Translate>Reason</i18n.Translate>
</th>
</tr>
</thead>
<tbody>
{entries.map((e, i) => {
if (e.kyc_url === undefined) {
// blocked by AML
return (
<tr key={i}>
<td>{e.exchange_url}</td>
<td>{e.payto_uri}</td>
<td>
{e.aml_status === 1 ? (
<i18n.Translate>
There is an anti-money laundering process pending to
complete
</i18n.Translate>
) : (
<i18n.Translate>
The account is frozen due to the anti-money laundering
rules. Contact the exchange service provider for further
instructions.
</i18n.Translate>
)}
</td>
</tr>
);
} else {
// blocked by KYC
return (
<tr key={i}>
<td>{e.exchange_url}</td>
<td>{e.payto_uri}</td>
<td>
<a href={e.kyc_url} target="_black" rel="noreferrer">
{e.kyc_url}
<i18n.Translate>
Pending KYC process, click here to complete
</i18n.Translate>
</a>
</td>
</tr>
);
}
})}
</tbody>
</table>