diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/wallet/AddNewActionView.tsx | 26 |
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 />; |