From a957e61a9ca05c35e6f40697a343f8c815b6edea Mon Sep 17 00:00:00 2001 From: Sebastian Date: Tue, 2 May 2023 09:56:44 -0300 Subject: fix #7828 --- .../src/popup/TalerActionFound.tsx | 61 +++++++++++----------- 1 file changed, 31 insertions(+), 30 deletions(-) (limited to 'packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx') diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx index b7984e4b8..ffd883098 100644 --- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx +++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx @@ -19,10 +19,10 @@ * @author Sebastian Javier Marchano (sebasjm) */ -import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; +import { parseTalerUri, TalerUri, TalerUriAction } from "@gnu-taler/taler-util"; +import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser"; import { Fragment, h, VNode } from "preact"; import { Title } from "../components/styled/index.js"; -import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser"; import { Button } from "../mui/Button.js"; import { platform } from "../platform/foreground.js"; @@ -32,15 +32,15 @@ export interface Props { } function ContentByUriType({ - type, + uri, onConfirm, }: { - type: TalerUriType; + uri: TalerUri; onConfirm: () => Promise; }) { const { i18n } = useTranslationContext(); - switch (type) { - case TalerUriType.TalerWithdraw: + switch (uri.type) { + case TalerUriAction.Withdraw: return (

@@ -52,8 +52,8 @@ function ContentByUriType({

); - case TalerUriType.TalerPayTemplate: - case TalerUriType.TalerPay: + case TalerUriAction.PayTemplate: + case TalerUriAction.Pay: return (

@@ -64,7 +64,7 @@ function ContentByUriType({

); - case TalerUriType.TalerTip: + case TalerUriAction.Tip: return (

@@ -76,7 +76,7 @@ function ContentByUriType({

); - case TalerUriType.TalerRefund: + case TalerUriAction.Refund: return (

@@ -88,34 +88,25 @@ function ContentByUriType({

); - case TalerUriType.TalerDevExperiment: - case TalerUriType.TalerTemplate: - case TalerUriType.TalerPayPull: - case TalerUriType.TalerPayPush: - case TalerUriType.TalerRecovery: - case TalerUriType.Unknown: - return ( -
-

- - This page has a malformed taler uri. - -

-
- ); - + case TalerUriAction.DevExperiment: + case TalerUriAction.PayPull: + case TalerUriAction.PayPush: + case TalerUriAction.Restore: + case TalerUriAction.Auditor: + case TalerUriAction.Exchange: + return null; default: { - const error: never = type; + const error: never = uri; return null; } } } export function TalerActionFound({ url, onDismiss }: Props): VNode { - const uriType = classifyTalerUri(url); + const talerUri = parseTalerUri(url); const { i18n } = useTranslationContext(); async function redirectToWallet(): Promise { - platform.openWalletURIFromPopup(url); + platform.openWalletURIFromPopup(talerUri!); } return ( @@ -123,7 +114,17 @@ export function TalerActionFound({ url, onDismiss }: Props): VNode { <i18n.Translate>Taler Action</i18n.Translate> - + {!talerUri ? ( +
+

+ + This page has a malformed taler uri. + +

+
+ ) : ( + + )}