aboutsummaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/popup
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-03-10 01:27:31 -0300
committerSebastian <sebasjm@gmail.com>2023-03-10 01:27:31 -0300
commit867d2ca76b2ca8903b2263a68243899749de7011 (patch)
tree5abb027f7976a8694d29e5be4f8d9e8528bf1a0c /packages/taler-wallet-webextension/src/popup
parentf40487806304dbaafa74544d5a8f74ab56569044 (diff)
downloadwallet-core-867d2ca76b2ca8903b2263a68243899749de7011.tar.xz
fix encoded uri, add pay template cta
Diffstat (limited to 'packages/taler-wallet-webextension/src/popup')
-rw-r--r--packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx149
1 files changed, 81 insertions, 68 deletions
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
index 5c435a9a5..205e42d20 100644
--- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
+++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx
@@ -31,6 +31,86 @@ export interface Props {
onDismiss: () => Promise<void>;
}
+function ContentByUriType({
+ type,
+ onConfirm,
+}: {
+ type: TalerUriType;
+ onConfirm: () => Promise<void>;
+}) {
+ const { i18n } = useTranslationContext();
+ switch (type) {
+ case TalerUriType.TalerWithdraw:
+ return (
+ <div>
+ <p>
+ <i18n.Translate>This page has a withdrawal action.</i18n.Translate>
+ </p>
+ <Button variant="contained" color="success" onClick={onConfirm}>
+ <i18n.Translate>Open withdraw page</i18n.Translate>
+ </Button>
+ </div>
+ );
+
+ case TalerUriType.TalerPayTemplate:
+ case TalerUriType.TalerPay:
+ return (
+ <div>
+ <p>
+ <i18n.Translate>This page has pay action.</i18n.Translate>
+ </p>
+ <Button variant="contained" color="success" onClick={onConfirm}>
+ <i18n.Translate>Open pay page</i18n.Translate>
+ </Button>
+ </div>
+ );
+ case TalerUriType.TalerTip:
+ return (
+ <div>
+ <p>
+ <i18n.Translate>This page has a tip action.</i18n.Translate>
+ </p>
+ <Button variant="contained" color="success" onClick={onConfirm}>
+ <i18n.Translate>Open tip page</i18n.Translate>
+ </Button>
+ </div>
+ );
+
+ case TalerUriType.TalerRefund:
+ return (
+ <div>
+ <p>
+ <i18n.Translate>This page has a refund action.</i18n.Translate>
+ </p>
+ <Button variant="contained" color="success" onClick={onConfirm}>
+ <i18n.Translate>Open refund page</i18n.Translate>
+ </Button>
+ </div>
+ );
+
+ case TalerUriType.TalerDevExperiment:
+ case TalerUriType.TalerTemplate:
+ case TalerUriType.TalerPayPull:
+ case TalerUriType.TalerPayPush:
+ case TalerUriType.TalerRecovery:
+ case TalerUriType.Unknown:
+ return (
+ <div>
+ <p>
+ <i18n.Translate>
+ This page has a malformed taler uri.
+ </i18n.Translate>
+ </p>
+ </div>
+ );
+
+ default: {
+ const error: never = type;
+ return null;
+ }
+ }
+}
+
export function TalerActionFound({ url, onDismiss }: Props): VNode {
const uriType = classifyTalerUri(url);
const { i18n } = useTranslationContext();
@@ -43,74 +123,7 @@ export function TalerActionFound({ url, onDismiss }: Props): VNode {
<Title>
<i18n.Translate>Taler Action</i18n.Translate>
</Title>
- {uriType === TalerUriType.TalerPay && (
- <div>
- <p>
- <i18n.Translate>This page has pay action.</i18n.Translate>
- </p>
- <Button
- variant="contained"
- color="success"
- onClick={redirectToWallet}
- >
- <i18n.Translate>Open pay page</i18n.Translate>
- </Button>
- </div>
- )}
- {uriType === TalerUriType.TalerWithdraw && (
- <div>
- <p>
- <i18n.Translate>
- This page has a withdrawal action.
- </i18n.Translate>
- </p>
- <Button
- variant="contained"
- color="success"
- onClick={redirectToWallet}
- >
- <i18n.Translate>Open withdraw page</i18n.Translate>
- </Button>
- </div>
- )}
- {uriType === TalerUriType.TalerTip && (
- <div>
- <p>
- <i18n.Translate>This page has a tip action.</i18n.Translate>
- </p>
- <Button
- variant="contained"
- color="success"
- onClick={redirectToWallet}
- >
- <i18n.Translate>Open tip page</i18n.Translate>
- </Button>
- </div>
- )}
- {uriType === TalerUriType.TalerRefund && (
- <div>
- <p>
- <i18n.Translate>This page has a refund action.</i18n.Translate>
- </p>
- <Button
- variant="contained"
- color="success"
- onClick={redirectToWallet}
- >
- <i18n.Translate>Open refund page</i18n.Translate>
- </Button>
- </div>
- )}
- {uriType === TalerUriType.Unknown && (
- <div>
- <p>
- <i18n.Translate>
- This page has a malformed taler uri.
- </i18n.Translate>
- </p>
- <p>{url}</p>
- </div>
- )}
+ <ContentByUriType type={uriType} onConfirm={redirectToWallet} />
</section>
<footer>
<div />