From b8d03b6b2aef630c0fafd7f6ab0fe317abfe1d93 Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 12 Oct 2021 15:18:29 -0300 Subject: added example of withdrawal use cases --- .../taler-wallet-webextension/src/cta/Withdraw.tsx | 127 +++++++++++++++------ 1 file changed, 93 insertions(+), 34 deletions(-) (limited to 'packages/taler-wallet-webextension/src/cta/Withdraw.tsx') diff --git a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx index 52295f1af..94f217fc7 100644 --- a/packages/taler-wallet-webextension/src/cta/Withdraw.tsx +++ b/packages/taler-wallet-webextension/src/cta/Withdraw.tsx @@ -49,7 +49,7 @@ export interface ViewProps { onReview: (b: boolean) => void; onAccept: (b: boolean) => void; reviewing: boolean; - accepted: boolean; + reviewed: boolean; confirmed: boolean; terms: { value?: TermsDocument; @@ -61,7 +61,7 @@ export interface ViewProps { type TermsStatus = 'new' | 'accepted' | 'changed' | 'notfound'; -type TermsDocument = TermsDocumentXml | TermsDocumentHtml; +type TermsDocument = TermsDocumentXml | TermsDocumentHtml | TermsDocumentPlain | TermsDocumentJson | TermsDocumentPdf; interface TermsDocumentXml { type: 'xml', @@ -70,7 +70,22 @@ interface TermsDocumentXml { interface TermsDocumentHtml { type: 'html', - href: string, + href: URL, +} + +interface TermsDocumentPlain { + type: 'plain', + content: string, +} + +interface TermsDocumentJson { + type: 'json', + data: any, +} + +interface TermsDocumentPdf { + type: 'pdf', + location: URL, } function amountToString(text: AmountJson) { @@ -79,7 +94,7 @@ function amountToString(text: AmountJson) { return `${amount} ${aj.currency}` } -export function View({ details, knownExchanges, amount, onWithdraw, onSwitchExchange, terms, reviewing, onReview, onAccept, accepted, confirmed }: ViewProps) { +export function View({ details, knownExchanges, amount, onWithdraw, onSwitchExchange, terms, reviewing, onReview, onAccept, reviewed, confirmed }: ViewProps) { const needsReview = terms.status === 'changed' || terms.status === 'new' const [switchingExchange, setSwitchingExchange] = useState(undefined) @@ -105,9 +120,6 @@ export function View({ details, knownExchanges, amount, onWithdraw, onSwitchExch
-

- This is the list of known exchanges -

onSwitchExchange(switchingExchange)}> {i18n.str`Confirm exchange selection`} @@ -118,7 +130,7 @@ export function View({ details, knownExchanges, amount, onWithdraw, onSwitchExch } - {!reviewing && accepted && + {!reviewing && reviewed &&
- - {terms.status !== 'accepted' && terms.value && terms.value.type === 'xml' && } - + {terms.status !== 'accepted' && terms.value && terms.value.type === 'xml' && + + + + } + {terms.status !== 'accepted' && terms.value && terms.value.type === 'plain' && +
+
{terms.value.content}
+
+ } + {terms.status !== 'accepted' && terms.value && terms.value.type === 'html' && +