diff options
author | Sebastian <sebasjm@gmail.com> | 2021-06-16 17:17:12 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2021-06-16 17:17:18 -0300 |
commit | d58945c830a33910dd93bc159c1ffe5d490df846 (patch) | |
tree | 52ee1fd627542ac415401c86e733ec32bf7fca91 /packages/taler-wallet-webextension/src/pages/refund.tsx | |
parent | 86636142a2e3fb3373363c2c0c87ce5167975b74 (diff) | |
download | wallet-core-d58945c830a33910dd93bc159c1ffe5d490df846.tar.xz |
split wallet/popup components. created hooks, components, context folder
Diffstat (limited to 'packages/taler-wallet-webextension/src/pages/refund.tsx')
-rw-r--r-- | packages/taler-wallet-webextension/src/pages/refund.tsx | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/packages/taler-wallet-webextension/src/pages/refund.tsx b/packages/taler-wallet-webextension/src/pages/refund.tsx deleted file mode 100644 index 1991bc9d8..000000000 --- a/packages/taler-wallet-webextension/src/pages/refund.tsx +++ /dev/null @@ -1,108 +0,0 @@ -/* - This file is part of TALER - (C) 2015-2016 GNUnet e.V. - - 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. - - 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 - TALER; see the file COPYING. If not, see <http://www.gnu.org/licenses/> - */ - -/** - * Page that shows refund status for purchases. - * - * @author Florian Dold - */ - -import * as wxApi from "../wxApi"; -import { AmountView } from "../renderHtml"; -import { - ApplyRefundResponse, - Amounts, -} from "@gnu-taler/taler-util"; -import { useEffect, useState } from "preact/hooks"; -import { JSX } from "preact/jsx-runtime"; - -interface Props { - talerRefundUri?: string -} - -export function RefundStatusView({ talerRefundUri }: Props): JSX.Element { - const [applyResult, setApplyResult] = useState<ApplyRefundResponse | undefined>(undefined); - const [errMsg, setErrMsg] = useState<string | undefined>(undefined); - - useEffect(() => { - if (!talerRefundUri) return; - const doFetch = async (): Promise<void> => { - try { - const result = await wxApi.applyRefund(talerRefundUri); - setApplyResult(result); - } catch (e) { - console.error(e); - setErrMsg(e.message); - console.log("err message", e.message); - } - }; - doFetch(); - }, [talerRefundUri]); - - console.log("rendering"); - - if (!talerRefundUri) { - return <span>missing taler refund uri</span>; - } - - if (errMsg) { - return <span>Error: {errMsg}</span>; - } - - if (!applyResult) { - return <span>Updating refund status</span>; - } - - return ( - <> - <h2>Refund Status</h2> - <p> - The product <em>{applyResult.info.summary}</em> has received a total - effective refund of{" "} - <AmountView amount={applyResult.amountRefundGranted} />. - </p> - {applyResult.pendingAtExchange ? ( - <p>Refund processing is still in progress.</p> - ) : null} - {!Amounts.isZero(applyResult.amountRefundGone) ? ( - <p> - The refund amount of{" "} - <AmountView amount={applyResult.amountRefundGone} /> - could not be applied. - </p> - ) : null} - </> - ); -} - -/** - * @deprecated to be removed - */ -export function createRefundPage(): JSX.Element { - const url = new URL(document.location.href); - - const container = document.getElementById("container"); - if (!container) { - throw Error("fatal: can't mount component, container missing"); - } - - const talerRefundUri = url.searchParams.get("talerRefundUri"); - if (!talerRefundUri) { - throw Error("taler refund URI required"); - } - - return <RefundStatusView talerRefundUri={talerRefundUri} />; -} |