summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-05-02 09:56:44 -0300
committerSebastian <sebasjm@gmail.com>2023-05-02 09:57:12 -0300
commita957e61a9ca05c35e6f40697a343f8c815b6edea (patch)
tree54f8a83831c6949aabbc785c455c7264d8c086b4 /packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
parent23fca6d8677a1e88dad426691fbe1033595f16a3 (diff)
downloadwallet-core-a957e61a9ca05c35e6f40697a343f8c815b6edea.tar.gz
wallet-core-a957e61a9ca05c35e6f40697a343f8c815b6edea.tar.bz2
wallet-core-a957e61a9ca05c35e6f40697a343f8c815b6edea.zip
fix #7828
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx')
-rw-r--r--packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx26
1 files changed, 12 insertions, 14 deletions
diff --git a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
index 68a90f8b5..7f142f58b 100644
--- a/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
+++ b/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
@@ -13,13 +13,13 @@
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/>
*/
-import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util";
+import { parseTalerUri, TalerUriAction } from "@gnu-taler/taler-util";
+import { useTranslationContext } from "@gnu-taler/web-util/lib/index.browser";
import { Fragment, h, VNode } from "preact";
import { useState } from "preact/hooks";
-import { platform } from "../platform/foreground.js";
import { InputWithLabel } 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";
export interface Props {
onCancel: () => Promise<void>;
@@ -27,19 +27,17 @@ export interface Props {
export function AddNewActionView({ onCancel }: Props): VNode {
const [url, setUrl] = useState("");
- const uriType = classifyTalerUri(url);
+ const uri = parseTalerUri(url);
const { i18n } = useTranslationContext();
async function redirectToWallet(): Promise<void> {
- platform.openWalletURIFromPopup(url);
+ platform.openWalletURIFromPopup(uri!);
}
return (
<Fragment>
<section>
- <InputWithLabel
- invalid={url !== "" && uriType === TalerUriType.Unknown}
- >
+ <InputWithLabel invalid={url !== "" && !uri}>
<label>GNU Taler URI</label>
<div>
<input
@@ -56,21 +54,21 @@ export function AddNewActionView({ onCancel }: Props): VNode {
<Button variant="contained" color="secondary" onClick={onCancel}>
<i18n.Translate>Cancel</i18n.Translate>
</Button>
- {uriType !== TalerUriType.Unknown && (
+ {uri && (
<Button
variant="contained"
color="success"
onClick={redirectToWallet}
>
{(() => {
- switch (uriType) {
- case TalerUriType.TalerPay:
+ switch (uri.type) {
+ case TalerUriAction.Pay:
return <i18n.Translate>Open pay page</i18n.Translate>;
- case TalerUriType.TalerRefund:
+ case TalerUriAction.Refund:
return <i18n.Translate>Open refund page</i18n.Translate>;
- case TalerUriType.TalerTip:
+ case TalerUriAction.Tip:
return <i18n.Translate>Open tip page</i18n.Translate>;
- case TalerUriType.TalerWithdraw:
+ case TalerUriAction.Withdraw:
return <i18n.Translate>Open withdraw page</i18n.Translate>;
}
return <Fragment />;