diff options
author | Sebastian <sebasjm@gmail.com> | 2021-11-15 11:18:58 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-11-15 11:18:58 -0300 |
commit | 1d4815c66c395f4fcc86c30e20f3d005e3cb9ff5 (patch) | |
tree | 99e8241a5eb5af4d752be93a460004bc0c6255aa /packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx | |
parent | 9692f589c687a2ba39a705ca4238cf123f444c61 (diff) | |
download | wallet-core-1d4815c66c395f4fcc86c30e20f3d005e3cb9ff5.tar.xz |
prettier
Diffstat (limited to 'packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx | 161 |
1 files changed, 112 insertions, 49 deletions
diff --git a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx index ef0ec341c..cbdcbeb15 100644 --- a/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx +++ b/packages/taler-wallet-webextension/src/popup/TalerActionFound.tsx @@ -1,5 +1,31 @@ +/* + This file is part of GNU Taler + (C) 2021 Taler Systems S.A. + + GNU Taler is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + GNU Taler is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + 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/> + */ + +/** + * + * @author Sebastian Javier Marchano (sebasjm) + */ + import { classifyTalerUri, TalerUriType } from "@gnu-taler/taler-util"; -import { ButtonPrimary, ButtonSuccess, PopupBox } from "../components/styled/index"; +import { + ButtonPrimary, + ButtonSuccess, + PopupBox, +} from "../components/styled/index"; +import { h } from "preact"; export interface Props { url: string; @@ -8,54 +34,89 @@ export interface Props { export function TalerActionFound({ url, onDismiss }: Props) { const uriType = classifyTalerUri(url); - return <PopupBox> - <section> - <h1>Taler Action </h1> - {uriType === TalerUriType.TalerPay && <div> - <p>This page has pay action.</p> - <ButtonSuccess onClick={() => { chrome.tabs.create({ "url": actionForTalerUri(uriType, url) }); }}> - Open pay page - </ButtonSuccess> - </div>} - {uriType === TalerUriType.TalerWithdraw && <div> - <p>This page has a withdrawal action.</p> - <ButtonSuccess onClick={() => { chrome.tabs.create({ "url": actionForTalerUri(uriType, url) }); }}> - Open withdraw page - </ButtonSuccess> - </div>} - {uriType === TalerUriType.TalerTip && <div> - <p>This page has a tip action.</p> - <ButtonSuccess onClick={() => { chrome.tabs.create({ "url": actionForTalerUri(uriType, url) }); }}> - Open tip page - </ButtonSuccess> - </div>} - {uriType === TalerUriType.TalerNotifyReserve && <div> - <p>This page has a notify reserve action.</p> - <ButtonSuccess onClick={() => { chrome.tabs.create({ "url": actionForTalerUri(uriType, url) }); }}> - Notify - </ButtonSuccess> - </div>} - {uriType === TalerUriType.TalerRefund && <div> - <p>This page has a refund action.</p> - <ButtonSuccess onClick={() => { chrome.tabs.create({ "url": actionForTalerUri(uriType, url) }); }}> - Open refund page - </ButtonSuccess> - </div>} - {uriType === TalerUriType.Unknown && <div> - <p>This page has a malformed taler uri.</p> - <p>{url}</p> - </div>} - - </section> - <footer> - <div /> - <ButtonPrimary onClick={() => onDismiss()}> Dismiss </ButtonPrimary> - </footer> - </PopupBox>; - + return ( + <PopupBox> + <section> + <h1>Taler Action </h1> + {uriType === TalerUriType.TalerPay && ( + <div> + <p>This page has pay action.</p> + <ButtonSuccess + onClick={() => { + chrome.tabs.create({ url: actionForTalerUri(uriType, url) }); + }} + > + Open pay page + </ButtonSuccess> + </div> + )} + {uriType === TalerUriType.TalerWithdraw && ( + <div> + <p>This page has a withdrawal action.</p> + <ButtonSuccess + onClick={() => { + chrome.tabs.create({ url: actionForTalerUri(uriType, url) }); + }} + > + Open withdraw page + </ButtonSuccess> + </div> + )} + {uriType === TalerUriType.TalerTip && ( + <div> + <p>This page has a tip action.</p> + <ButtonSuccess + onClick={() => { + chrome.tabs.create({ url: actionForTalerUri(uriType, url) }); + }} + > + Open tip page + </ButtonSuccess> + </div> + )} + {uriType === TalerUriType.TalerNotifyReserve && ( + <div> + <p>This page has a notify reserve action.</p> + <ButtonSuccess + onClick={() => { + chrome.tabs.create({ url: actionForTalerUri(uriType, url) }); + }} + > + Notify + </ButtonSuccess> + </div> + )} + {uriType === TalerUriType.TalerRefund && ( + <div> + <p>This page has a refund action.</p> + <ButtonSuccess + onClick={() => { + chrome.tabs.create({ url: actionForTalerUri(uriType, url) }); + }} + > + Open refund page + </ButtonSuccess> + </div> + )} + {uriType === TalerUriType.Unknown && ( + <div> + <p>This page has a malformed taler uri.</p> + <p>{url}</p> + </div> + )} + </section> + <footer> + <div /> + <ButtonPrimary onClick={() => onDismiss()}> Dismiss </ButtonPrimary> + </footer> + </PopupBox> + ); } -function actionForTalerUri(uriType: TalerUriType, talerUri: string): string | undefined { +function actionForTalerUri( + uriType: TalerUriType, + talerUri: string, +): string | undefined { switch (uriType) { case TalerUriType.TalerWithdraw: return makeExtensionUrlWithParams("static/wallet.html#/withdraw", { @@ -91,8 +152,10 @@ function makeExtensionUrlWithParams( ): string { const innerUrl = new URL(chrome.extension.getURL("/" + url)); if (params) { - const hParams = Object.keys(params).map(k => `${k}=${params[k]}`).join('&') - innerUrl.hash = innerUrl.hash + '?' + hParams + const hParams = Object.keys(params) + .map((k) => `${k}=${params[k]}`) + .join("&"); + innerUrl.hash = innerUrl.hash + "?" + hParams; } return innerUrl.href; } |