diff --git a/packages/taler-wallet-webextension/rollup.config.js b/packages/taler-wallet-webextension/rollup.config.js
index 30ca82a0b..c5bb936cf 100644
--- a/packages/taler-wallet-webextension/rollup.config.js
+++ b/packages/taler-wallet-webextension/rollup.config.js
@@ -32,13 +32,24 @@ const makePlugins = () => [
];
-const webExtensionPageEntryPoint = {
- input: "lib/pageEntryPoint.js",
+const webExtensionWalletEntryPoint = {
+ input: "lib/walletEntryPoint.js",
output: {
- file: "dist/pageEntryPoint.js",
+ file: "dist/walletEntryPoint.js",
format: "iife",
exports: "none",
- name: "webExtensionPageEntry",
+ name: "webExtensionWalletEntry",
+ },
+ plugins: makePlugins(),
+};
+
+const webExtensionPopupEntryPoint = {
+ input: "lib/popupEntryPoint.js",
+ output: {
+ file: "dist/popupEntryPoint.js",
+ format: "iife",
+ exports: "none",
+ name: "webExtensionPopupEntry",
},
plugins: makePlugins(),
};
@@ -66,7 +77,8 @@ const webExtensionCryptoWorker = {
};
export default [
- webExtensionPageEntryPoint,
+ webExtensionPopupEntryPoint,
+ webExtensionWalletEntryPoint,
webExtensionBackgroundPageScript,
webExtensionCryptoWorker,
];
diff --git a/packages/taler-wallet-webextension/src/pageEntryPoint.ts b/packages/taler-wallet-webextension/src/pageEntryPoint.ts
deleted file mode 100644
index 505b32d71..000000000
--- a/packages/taler-wallet-webextension/src/pageEntryPoint.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- This file is part of GNU Taler
- (C) 2020 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
- */
-
-/**
- * Main entry point for extension pages.
- *
- * @author Florian Dold
- */
-
-import { render } from "preact";
-import { setupI18n } from "@gnu-taler/taler-util";
-import { strings } from "./i18n/strings";
-import { Application } from "./Application";
-
-function main(): void {
- try {
- const container = document.getElementById("container");
- if (!container) {
- throw Error("container not found, can't mount page contents");
- }
- render(Application(), container);
- } catch (e) {
- console.error("got error", e);
- document.body.innerText = `Fatal error: "${e.message}". Please report this bug at https://bugs.gnunet.org/.`;
- }
-}
-
-setupI18n("en-US", strings);
-
-if (document.readyState === "loading") {
- document.addEventListener("DOMContentLoaded", main);
-} else {
- main();
-}
diff --git a/packages/taler-wallet-webextension/src/pages/popup.tsx b/packages/taler-wallet-webextension/src/pages/popup.tsx
index d6c03e074..7759b1819 100644
--- a/packages/taler-wallet-webextension/src/pages/popup.tsx
+++ b/packages/taler-wallet-webextension/src/pages/popup.tsx
@@ -48,6 +48,14 @@ import { PageLink, renderAmount } from "../renderHtml";
import * as wxApi from "../wxApi";
import { PermissionsCheckbox, useExtendedPermissions, Diagnostics } from "./welcome";
+export enum Pages {
+ balance = '/balance',
+ settings = '/settings',
+ debug = '/debug',
+ history = '/history',
+ transaction = '/transaction/:tid',
+}
+
interface TabProps {
target: string;
current?: string;
@@ -66,13 +74,13 @@ function Tab(props: TabProps): JSX.Element {
);
}
-function WalletNavBar({ current }: { current?: string }) {
+export function WalletNavBar({ current }: { current?: string }) {
return (