diff options
Diffstat (limited to 'packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx | 53 |
1 files changed, 9 insertions, 44 deletions
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx index 9ac83a578..a1082ad92 100644 --- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx +++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx @@ -21,36 +21,21 @@ import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; import { Fragment, h } from "preact"; +import { platform } from "../platform/api"; import { ButtonPrimary, ButtonSuccess } from "../components/styled"; import { useTranslationContext } from "../context/translation"; -import { actionForTalerUri } from "../utils/index"; export interface Props { url: string; onDismiss: () => void; } -async function getCurrentTab(): Promise<chrome.tabs.Tab> { - let queryOptions = { active: true, currentWindow: true }; - const tab = await new Promise<chrome.tabs.Tab>((res, rej) => { - chrome.tabs.query(queryOptions, (tabs) => { - res(tabs[0]); - }); - }); - return tab; -} - -async function navigateTo(url?: string) { - if (!url) return; - const tab = await getCurrentTab(); - if (!tab.id) return; - await chrome.tabs.update(tab.id, { url }); - window.close(); -} - export function TalerActionFound({ url, onDismiss }: Props) { const uriType = classifyTalerUri(url); const { i18n } = useTranslationContext(); + function redirectToWallet() { + platform.openWalletURIFromPopup(uriType, url); + } return ( <Fragment> <section> @@ -62,11 +47,7 @@ export function TalerActionFound({ url, onDismiss }: Props) { <p> <i18n.Translate>This page has pay action.</i18n.Translate> </p> - <ButtonSuccess - onClick={() => { - navigateTo(actionForTalerUri(uriType, url)); - }} - > + <ButtonSuccess onClick={redirectToWallet}> <i18n.Translate>Open pay page</i18n.Translate> </ButtonSuccess> </div> @@ -78,11 +59,7 @@ export function TalerActionFound({ url, onDismiss }: Props) { This page has a withdrawal action. </i18n.Translate> </p> - <ButtonSuccess - onClick={() => { - navigateTo(actionForTalerUri(uriType, url)); - }} - > + <ButtonSuccess onClick={redirectToWallet}> <i18n.Translate>Open withdraw page</i18n.Translate> </ButtonSuccess> </div> @@ -92,11 +69,7 @@ export function TalerActionFound({ url, onDismiss }: Props) { <p> <i18n.Translate>This page has a tip action.</i18n.Translate> </p> - <ButtonSuccess - onClick={() => { - navigateTo(actionForTalerUri(uriType, url)); - }} - > + <ButtonSuccess onClick={redirectToWallet}> <i18n.Translate>Open tip page</i18n.Translate> </ButtonSuccess> </div> @@ -108,11 +81,7 @@ export function TalerActionFound({ url, onDismiss }: Props) { This page has a notify reserve action. </i18n.Translate> </p> - <ButtonSuccess - onClick={() => { - navigateTo(actionForTalerUri(uriType, url)); - }} - > + <ButtonSuccess onClick={redirectToWallet}> <i18n.Translate>Notify</i18n.Translate> </ButtonSuccess> </div> @@ -122,11 +91,7 @@ export function TalerActionFound({ url, onDismiss }: Props) { <p> <i18n.Translate>This page has a refund action.</i18n.Translate> </p> - <ButtonSuccess - onClick={() => { - navigateTo(actionForTalerUri(uriType, url)); - }} - > + <ButtonSuccess onClick={redirectToWallet}> <i18n.Translate>Open refund page</i18n.Translate> </ButtonSuccess> </div> |