handleExtendedPerm()}
+ onChange={() => handleExtendedPerm(extendedPermissionsEnabled, setExtendedPermissionsEnabled) }
type="checkbox"
id="checkbox-perm"
style={{ width: "1.5em", height: "1.5em", verticalAlign: "middle" }}
@@ -168,7 +169,7 @@ export function PermissionsCheckbox(): JSX.Element {
);
}
-function Welcome(): JSX.Element {
+export function Welcome(): JSX.Element {
return (
<>
Thank you for installing the wallet.
diff --git a/packages/taler-wallet-webextension/src/pages/withdraw.tsx b/packages/taler-wallet-webextension/src/pages/withdraw.tsx
index 1d628be22..d99bcf9c0 100644
--- a/packages/taler-wallet-webextension/src/pages/withdraw.tsx
+++ b/packages/taler-wallet-webextension/src/pages/withdraw.tsx
@@ -34,12 +34,14 @@ import {
import { WithdrawUriInfoResponse } from "@gnu-taler/taler-util";
import { JSX } from "preact/jsx-runtime";
-function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
+interface Props {
+ talerWithdrawUri?: string;
+}
+export function WithdrawalDialog({ talerWithdrawUri }: Props): JSX.Element {
const [details, setDetails] = useState
(undefined);
const [selectedExchange, setSelectedExchange] = useState<
string | undefined
>(undefined);
- const talerWithdrawUri = props.talerWithdrawUri;
const [cancelled, setCancelled] = useState(false);
const [selecting, setSelecting] = useState(false);
const [errMsg, setErrMsg] = useState("");
@@ -52,10 +54,9 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
}, []);
useEffect(() => {
+ if (!talerWithdrawUri) return
const fetchData = async (): Promise => {
- const res = await getWithdrawalDetailsForUri({
- talerWithdrawUri: props.talerWithdrawUri,
- });
+ const res = await getWithdrawalDetailsForUri({ talerWithdrawUri });
setDetails(res);
if (res.defaultExchangeBaseUrl) {
setSelectedExchange(res.defaultExchangeBaseUrl);
@@ -64,6 +65,10 @@ function WithdrawalDialog(props: { talerWithdrawUri: string }): JSX.Element {
fetchData();
}, [selectedExchange, errMsg, selecting, talerWithdrawUri, updateCounter]);
+ if (!talerWithdrawUri) {
+ return missing withdraw uri ;
+ }
+
if (!details) {
return Loading... ;
}
diff --git a/packages/taler-wallet-webextension/src/renderHtml.tsx b/packages/taler-wallet-webextension/src/renderHtml.tsx
index 5574e96ea..2fde6f537 100644
--- a/packages/taler-wallet-webextension/src/renderHtml.tsx
+++ b/packages/taler-wallet-webextension/src/renderHtml.tsx
@@ -167,7 +167,7 @@ export function ProgressButton({isLoading, ...rest}: LoadingButtonProps): JSX.El
export function PageLink(
props: { pageName: string, children?: ComponentChildren },
): JSX.Element {
- const url = chrome.extension.getURL(`/${props.pageName}`);
+ const url = chrome.extension.getURL(`/static/popup.html#/${props.pageName}`);
return (
{
console.log("onInstalled with reason", details.reason);
if (details.reason === "install") {
- const url = chrome.extension.getURL("/static/welcome.html");
+ const url = chrome.extension.getURL("/static/popup.html#/welcome");
chrome.tabs.create({ active: true, url: url });
}
});
@@ -311,7 +311,7 @@ function headerListener(
switch (uriType) {
case TalerUriType.TalerWithdraw:
return makeSyncWalletRedirect(
- "/static/withdraw.html",
+ "/static/popup.html#/withdraw",
details.tabId,
details.url,
{
@@ -320,7 +320,7 @@ function headerListener(
);
case TalerUriType.TalerPay:
return makeSyncWalletRedirect(
- "/static/pay.html",
+ "/static/popup.html#/pay",
details.tabId,
details.url,
{
@@ -329,7 +329,7 @@ function headerListener(
);
case TalerUriType.TalerTip:
return makeSyncWalletRedirect(
- "/static/tip.html",
+ "/static/popup.html#/tip",
details.tabId,
details.url,
{
@@ -338,7 +338,7 @@ function headerListener(
);
case TalerUriType.TalerRefund:
return makeSyncWalletRedirect(
- "/static/refund.html",
+ "/static/popup.html#/refund",
details.tabId,
details.url,
{
diff --git a/packages/taler-wallet-webextension/static/add-auditor.html b/packages/taler-wallet-webextension/static/add-auditor.html
deleted file mode 100644
index 47a97c075..000000000
--- a/packages/taler-wallet-webextension/static/add-auditor.html
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
- Taler Wallet: Add Auditor
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/auditors.html b/packages/taler-wallet-webextension/static/auditors.html
deleted file mode 100644
index 15261290d..000000000
--- a/packages/taler-wallet-webextension/static/auditors.html
+++ /dev/null
@@ -1,35 +0,0 @@
-
-
-
-
- Taler Wallet: Auditors
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/benchmark.html b/packages/taler-wallet-webextension/static/benchmark.html
deleted file mode 100644
index d0ca32aeb..000000000
--- a/packages/taler-wallet-webextension/static/benchmark.html
+++ /dev/null
@@ -1,16 +0,0 @@
-
-
-
-
- Taler Wallet: Benchmarks
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/pay.html b/packages/taler-wallet-webextension/static/pay.html
deleted file mode 100644
index 129765815..000000000
--- a/packages/taler-wallet-webextension/static/pay.html
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
- Taler Wallet: Confirm Contract
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/payback.html b/packages/taler-wallet-webextension/static/payback.html
deleted file mode 100644
index 7ca9dc974..000000000
--- a/packages/taler-wallet-webextension/static/payback.html
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
- Taler Wallet: Payback
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/refund.html b/packages/taler-wallet-webextension/static/refund.html
deleted file mode 100644
index 68c826bcf..000000000
--- a/packages/taler-wallet-webextension/static/refund.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- Taler Wallet: Refund Status
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/reset-required.html b/packages/taler-wallet-webextension/static/reset-required.html
deleted file mode 100644
index 84943fbf1..000000000
--- a/packages/taler-wallet-webextension/static/reset-required.html
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
- Taler Wallet: Select Taler Provider
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/style/popup.css b/packages/taler-wallet-webextension/static/style/popup.css
index cca002399..c0201e584 100644
--- a/packages/taler-wallet-webextension/static/style/popup.css
+++ b/packages/taler-wallet-webextension/static/style/popup.css
@@ -6,7 +6,7 @@
body {
min-height: 20em;
- width: 30em;
+ /* width: 30em; */
margin: 0;
padding: 0;
max-height: 800px;
@@ -183,3 +183,58 @@ input[type="radio"] {
text-align: center;
padding-top: 2em;
}
+
+/**
+ pay html
+*/
+button.accept {
+ background-color: #5757d2;
+ border: 1px solid black;
+ border-radius: 5px;
+ margin: 1em 0;
+ padding: 0.5em;
+ font-weight: bold;
+ color: white;
+}
+button.linky {
+ background: none !important;
+ border: none;
+ padding: 0 !important;
+
+ font-family: arial, sans-serif;
+ color: #069;
+ text-decoration: underline;
+ cursor: pointer;
+}
+
+input.url {
+ width: 25em;
+}
+
+button.accept:disabled {
+ background-color: #dedbe8;
+ border: 1px solid white;
+ border-radius: 5px;
+ margin: 1em 0;
+ padding: 0.5em;
+ font-weight: bold;
+ color: #2c2c2c;
+}
+
+.errorbox {
+ border: 1px solid;
+ display: inline-block;
+ margin: 1em;
+ padding: 1em;
+ font-weight: bold;
+ background: #ff8a8a;
+}
+
+.okaybox {
+ border: 1px solid;
+ display: inline-block;
+ margin: 1em;
+ padding: 1em;
+ font-weight: bold;
+ background: #00fa9a;
+}
diff --git a/packages/taler-wallet-webextension/static/tip.html b/packages/taler-wallet-webextension/static/tip.html
deleted file mode 100644
index 9c074e129..000000000
--- a/packages/taler-wallet-webextension/static/tip.html
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
- Taler Wallet: Received Tip
-
-
-
-
-
-
-
-
-
-
-
diff --git a/packages/taler-wallet-webextension/static/welcome.html b/packages/taler-wallet-webextension/static/welcome.html
deleted file mode 100644
index e0b429f4b..000000000
--- a/packages/taler-wallet-webextension/static/welcome.html
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
-
- Taler Wallet Installed
-
-
-
-
-
-
-
-
-
-
-
- ❰ Taler Wallet❱
-
-
- Browser Extension Installed!
- Loading...
-
-
-
diff --git a/packages/taler-wallet-webextension/static/withdraw.html b/packages/taler-wallet-webextension/static/withdraw.html
deleted file mode 100644
index b2b837658..000000000
--- a/packages/taler-wallet-webextension/static/withdraw.html
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- Taler Wallet: Withdraw
-
-
-
-
-
-
-
-
-
-
- ❰ Taler Wallet❱
-
-
-
-
-
-
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 09b4f1c18..198562e9b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -216,12 +216,14 @@ importers:
'@rollup/plugin-replace': ^2.3.4
'@testing-library/preact': ^2.0.1
'@types/chrome': ^0.0.128
+ '@types/history': ^4.7.8
'@types/jest': ^26.0.23
'@types/node': ^14.14.22
ava: 3.15.0
babel-plugin-transform-react-jsx: ^6.24.1
enzyme: ^3.11.0
enzyme-adapter-preact-pure: ^3.1.0
+ history: 4.10.1
jest: ^26.6.3
jest-preset-preact: ^4.0.3
preact: ^10.5.13
@@ -251,12 +253,14 @@ importers:
'@rollup/plugin-replace': 2.3.4_rollup@2.37.1
'@testing-library/preact': 2.0.1_preact@10.5.13
'@types/chrome': 0.0.128
+ '@types/history': 4.7.8
'@types/jest': 26.0.23
'@types/node': 14.14.22
ava: 3.15.0
babel-plugin-transform-react-jsx: 6.24.1
enzyme: 3.11.0
enzyme-adapter-preact-pure: 3.1.0_enzyme@3.11.0+preact@10.5.13
+ history: 4.10.1
jest: 26.6.3
jest-preset-preact: 4.0.3_669f037bdb6c36f0a67e918c516dafdd
preact-cli: 3.0.5_c069246dc1d99535ac277c76f8ef56e0
@@ -2178,6 +2182,10 @@ packages:
resolution: {integrity: sha512-IG8AE1m2pWtPqQ7wXhFhy6Q59bwwnLwO36v5Rit2FrbXCIp8Sk8E2PfUCreyrdo17STwFSKDAkitVuVYbpEHvQ==}
dev: true
+ /@types/history/4.7.8:
+ resolution: {integrity: sha512-S78QIYirQcUoo6UJZx9CSP0O2ix9IaeAXwQi26Rhr/+mg7qqPy8TzaxHSUut7eGjL8WmLccT7/MXf304WjqHcA==}
+ dev: true
+
/@types/istanbul-lib-coverage/2.0.3:
resolution: {integrity: sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==}
dev: true
@@ -6569,6 +6577,17 @@ packages:
resolution: {integrity: sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==}
dev: true
+ /history/4.10.1:
+ resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==}
+ dependencies:
+ '@babel/runtime': 7.14.0
+ loose-envify: 1.4.0
+ resolve-pathname: 3.0.0
+ tiny-invariant: 1.1.0
+ tiny-warning: 1.0.3
+ value-equal: 1.0.1
+ dev: true
+
/hmac-drbg/1.0.1:
resolution: {integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=}
dependencies:
@@ -10818,6 +10837,10 @@ packages:
engines: {node: '>=8'}
dev: true
+ /resolve-pathname/3.0.0:
+ resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==}
+ dev: true
+
/resolve-url/0.2.1:
resolution: {integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=}
deprecated: https://github.com/lydell/resolve-url#deprecated
@@ -12097,6 +12120,14 @@ packages:
resolution: {integrity: sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=}
dev: true
+ /tiny-invariant/1.1.0:
+ resolution: {integrity: sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw==}
+ dev: true
+
+ /tiny-warning/1.0.3:
+ resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==}
+ dev: true
+
/tmpl/1.0.4:
resolution: {integrity: sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=}
dev: true
@@ -12674,6 +12705,10 @@ packages:
engines: {node: '>= 0.10'}
dev: true
+ /value-equal/1.0.1:
+ resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==}
+ dev: true
+
/vary/1.1.2:
resolution: {integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=}
engines: {node: '>= 0.8'}