summaryrefslogtreecommitdiff
path: root/packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx
diff options
context:
space:
mode:
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 />;