taler-typescript-core

Wallet core logic and WebUIs for various components
Log | Files | Refs | Submodules | README | LICENSE

commit 9853f54201cc4c563b7f3b51564eeab54862a223
parent e3ec395b35b8fcff9a6423bb118f14c9649ddcd8
Author: Sebastian <sebasjm@gmail.com>
Date:   Fri,  2 Jun 2023 14:25:33 -0300

from spa to pwa

Diffstat:
Apackages/taler-wallet-webextension/src/pwa/index.html | 109+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apackages/taler-wallet-webextension/src/pwa/manifest.json | 31+++++++++++++++++++++++++++++++
Rpackages/taler-wallet-webextension/src/spa/popup.html -> packages/taler-wallet-webextension/src/pwa/popup.html | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/import.css -> packages/taler-wallet-webextension/src/pwa/static/font/import.css | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/roboto-italic-400.ttf -> packages/taler-wallet-webextension/src/pwa/static/font/roboto-italic-400.ttf | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/roboto-normal-300.tff -> packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-300.tff | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/roboto-normal-400.ttf -> packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-400.ttf | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/roboto-normal-500.ttf -> packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-500.ttf | 0
Rpackages/taler-wallet-webextension/src/spa/static/font/roboto-normal-700.ttf -> packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-700.ttf | 0
Rpackages/taler-wallet-webextension/src/spa/static/img/taler-logo-128.png -> packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-128.png | 0
Rpackages/taler-wallet-webextension/src/spa/static/img/taler-logo-2022.svg -> packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-2022.svg | 0
Rpackages/taler-wallet-webextension/src/spa/static/img/taler-logo-48.png -> packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-48.png | 0
Apackages/taler-wallet-webextension/src/pwa/static/img/taler-logo-512.png | 0
Rpackages/taler-wallet-webextension/src/spa/stories.html -> packages/taler-wallet-webextension/src/pwa/stories.html | 0
Apackages/taler-wallet-webextension/src/pwa/sw.js | 6++++++
Rpackages/taler-wallet-webextension/src/spa/tests.html -> packages/taler-wallet-webextension/src/pwa/tests.html | 0
Rpackages/taler-wallet-webextension/src/spa/wallet.html -> packages/taler-wallet-webextension/src/pwa/wallet.html | 0
Dpackages/taler-wallet-webextension/src/spa/index.html | 90-------------------------------------------------------------------------------
Dpackages/taler-wallet-webextension/src/spa/manifest.json | 78------------------------------------------------------------------------------
Dpackages/taler-wallet-webextension/src/spa/service_worker.js | 11-----------
Dpackages/taler-wallet-webextension/src/spa/static/img/taler-alert-128.png | 0
Dpackages/taler-wallet-webextension/src/spa/static/img/taler-alert-48.png | 0
22 files changed, 146 insertions(+), 179 deletions(-)

diff --git a/packages/taler-wallet-webextension/src/pwa/index.html b/packages/taler-wallet-webextension/src/pwa/index.html @@ -0,0 +1,109 @@ +<html> + <head> + <meta charset="utf-8" /> + <link rel="manifest" href="./manifest.json" /> + <style> + .overlay { + position: absolute; + top: 0px; + display: none; +width: 100%; +height: 100%; +background-color: rgba(0,0,0,0.5); +color:white; +justify-content: center; + } + .overlay > iframe { + margin: auto; + } + </style> + </head> + <body> + <script> + function openPopup() { + document.getElementById("popup-overlay").style.display = "flex" + window.frames["popup"].location = "popup.html"; + window.frames["popup"] + } + function closePopup() { + document.getElementById("popup-overlay").style.display = "none" + } + function redirectWallet(url) { + window.frames["wallet"].location = url + } + function openWallet() { + redirectWallet("wallet.html") + } + function closeWallet() { + redirectWallet("about:blank") + } + function openPage() { + window.frames["other"].location = + document.getElementById("page-url").value; + } + </script> + <button value="asd" onclick="openPopup()">open popup</button> + <button value="asd" onclick="closeWallet();openWallet()"> + reload wallet page + </button> +<br /> + <iframe + id="wallet-window" + name="wallet" + src="wallet.html" + width="1000" + height="100%" + > + </iframe> + <!-- <input id="page-url" type="text" /> + <button onclick="openPage()">open</button> --> + <!-- <a + href='javascript:void(window.frames["other"].location = "http://bank.taler:5882")' + >open local bank</a + > + <hr /> + <iframe + id="other-window" + name="other" + src="http://bank.taler:5882" + width="100%" + height="325" + > + </iframe> --> + <hr /> + <div class="overlay" id="popup-overlay"> + <iframe + id="popup-window" + name="popup" + src="about:blank" + width="500" + height="325" + > + </iframe> + </div> + <!-- <hr /> + <iframe src="tests.html" name="wallet" width="800" height="100%"> </iframe> --> + <!-- <hr /> + <iframe src="stories.html" name="wallet" width="800" height="100%"> --> + <script type="module" src="background.dev.js"></script> + <script type="module"> + if ("serviceWorker" in navigator) { + try { + const registration = await navigator.serviceWorker.register("sw.js", { + scope: "/app/", + }); + if (registration.installing) { + console.log("Service worker installing"); + } else if (registration.waiting) { + console.log("Service worker installed"); + } else if (registration.active) { + console.log("Service worker active"); + } + } catch (error) { + console.error(`Registration failed with ${error}`); + } + } + + </script> + </body> +</html> diff --git a/packages/taler-wallet-webextension/src/pwa/manifest.json b/packages/taler-wallet-webextension/src/pwa/manifest.json @@ -0,0 +1,31 @@ +{ + "name": "GNU Taler Wallet", + "description": "Privacy preserving and transparent payments", + "author": "GNU Taler Developers", + "version": "0.9.3.13", + "id": "gnu-taler-wallet-web-spa-development", + "version_name": "0.9.3-dev.13", + "display": "minimal-ui", + "start_url": "./", + "manifest_version": 3, + "minimum_chrome_version": "88", + "icons": [{ + "src": "./static/img/taler-logo-48.png", + "type": "image/png", + "sizes": "48x48" + },{ + "src": "./static/img/taler-logo-128.png", + "type": "image/png", + "sizes": "128x128" + },{ + "src": "./static/img/taler-logo-512.png", + "type": "image/png", + "sizes": "512x512" + }], + "protocol_handlers": [ + { + "protocol": "web+taler", + "url": "./wallet.html?type=%s" + } + ] +} diff --git a/packages/taler-wallet-webextension/src/spa/popup.html b/packages/taler-wallet-webextension/src/pwa/popup.html diff --git a/packages/taler-wallet-webextension/src/spa/static/font/import.css b/packages/taler-wallet-webextension/src/pwa/static/font/import.css diff --git a/packages/taler-wallet-webextension/src/spa/static/font/roboto-italic-400.ttf b/packages/taler-wallet-webextension/src/pwa/static/font/roboto-italic-400.ttf Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/font/roboto-normal-300.tff b/packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-300.tff Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/font/roboto-normal-400.ttf b/packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-400.ttf Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/font/roboto-normal-500.ttf b/packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-500.ttf Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/font/roboto-normal-700.ttf b/packages/taler-wallet-webextension/src/pwa/static/font/roboto-normal-700.ttf Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/img/taler-logo-128.png b/packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-128.png Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/img/taler-logo-2022.svg b/packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-2022.svg diff --git a/packages/taler-wallet-webextension/src/spa/static/img/taler-logo-48.png b/packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-48.png Binary files differ. diff --git a/packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-512.png b/packages/taler-wallet-webextension/src/pwa/static/img/taler-logo-512.png Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/stories.html b/packages/taler-wallet-webextension/src/pwa/stories.html diff --git a/packages/taler-wallet-webextension/src/pwa/sw.js b/packages/taler-wallet-webextension/src/pwa/sw.js @@ -0,0 +1,6 @@ +console.log("sw: Service worker installed"); + +self.addEventListener("fetch", (event) => { + // console.log("fetch event", event); + // event.respondWith(/* custom content goes here */); +}); diff --git a/packages/taler-wallet-webextension/src/spa/tests.html b/packages/taler-wallet-webextension/src/pwa/tests.html diff --git a/packages/taler-wallet-webextension/src/spa/wallet.html b/packages/taler-wallet-webextension/src/pwa/wallet.html diff --git a/packages/taler-wallet-webextension/src/spa/index.html b/packages/taler-wallet-webextension/src/spa/index.html @@ -1,90 +0,0 @@ -<html> - <head> - <meta charset="utf-8" /> - <link rel="manifest" href="./manifest.json" /> - <style> - .overlay { - position: absolute; - top: 0px; - display: none; -width: 100%; -height: 100%; -background-color: rgba(0,0,0,0.5); -color:white; -justify-content: center; - } - .overlay > iframe { - margin: auto; - } - </style> - </head> - <body> - <script> - function openPopup() { - document.getElementById("popup-overlay").style.display = "flex" - window.frames["popup"].location = "popup.html"; - window.frames["popup"] - } - function closePopup() { - document.getElementById("popup-overlay").style.display = "none" - } - function redirectWallet(url) { - window.frames["wallet"].location = url - } - function openWallet() { - redirectWallet("wallet.html") - } - function closeWallet() { - redirectWallet("about:blank") - } - function openPage() { - window.frames["other"].location = - document.getElementById("page-url").value; - } - </script> - <button value="asd" onclick="openPopup()">open popup</button> - <button value="asd" onclick="closeWallet();openWallet()"> - reload wallet page - </button> -<br /> - <iframe - id="wallet-window" - name="wallet" - src="wallet.html" - width="1000" - height="100%" - > - </iframe> - <!-- <input id="page-url" type="text" /> - <button onclick="openPage()">open</button> --> - <!-- <a - href='javascript:void(window.frames["other"].location = "http://bank.taler:5882")' - >open local bank</a - > - <hr /> - <iframe - id="other-window" - name="other" - src="http://bank.taler:5882" - width="100%" - height="325" - > - </iframe> --> - <hr /> - <div class="overlay" id="popup-overlay"> - <iframe - id="popup-window" - name="popup" - src="about:blank" - width="500" - height="325" - > - </iframe> - </div> - <!-- <hr /> - <iframe src="tests.html" name="wallet" width="800" height="100%"> </iframe> --> - <!-- <hr /> - <iframe src="stories.html" name="wallet" width="800" height="100%"> --> - <script type="module" src="background.dev.js"></script> - </body> -</html> diff --git a/packages/taler-wallet-webextension/src/spa/manifest.json b/packages/taler-wallet-webextension/src/spa/manifest.json @@ -1,78 +0,0 @@ -{ - "name": "GNU Taler Wallet", - "description": "Privacy preserving and transparent payments", - "author": "GNU Taler Developers", - "version": "0.9.3.13", - "id": "gnu-taler-wallet-web-spa-development", - "version_name": "0.9.3-dev.13", - "icons": [{ - "src": "static/img/taler-logo-48.png", - "sizes": "48x48" - },{ - "src": "static/img/taler-logo-128.png", - "sizes": "128x128" - }], - "display": "minimal-ui", - "start_url": "http://localhost:8080/app/index.html", - "manifest_version": 3, - "minimum_chrome_version": "88", - "permissions": [ - "unlimitedStorage", - "storage", - "activeTab", - "scripting", - "declarativeContent", - "alarms" - ], - "commands": { - "_execute_action": { - "suggested_key": { - "default": "Alt+W" - } - } - }, - "content_scripts": [ - { - "id": "taler-wallet-interaction", - "matches": [ - "file://*/*", - "http://*/*", - "https://*/*" - ], - "js": [ - "dist/taler-wallet-interaction-loader.js" - ] - } - ], - "web_accessible_resources": [ - { - "resources": [ - "static/wallet.html", - "dist/taler-wallet-interaction-loader.js.map", - "dist/taler-wallet-interaction-loader.js", - "dist/taler-wallet-interaction-support.js.map", - "dist/taler-wallet-interaction-support.js" - ], - "matches": [ - "https://*/*", - "http://*/*", - "file://*/*" - ] - } - ], - "action": { - "default_icon": { - "16": "static/img/taler-logo-16.png", - "19": "static/img/taler-logo-19.png", - "32": "static/img/taler-logo-32.png", - "38": "static/img/taler-logo-38.png", - "48": "static/img/taler-logo-48.png", - "64": "static/img/taler-logo-64.png", - "128": "static/img/taler-logo-128.png", - "256": "static/img/taler-logo-256.png", - "512": "static/img/taler-logo-512.png" - }, - "default_title": "GNU Taler Wallet", - "default_popup": "static/popup.html" - } -} diff --git a/packages/taler-wallet-webextension/src/spa/service_worker.js b/packages/taler-wallet-webextension/src/spa/service_worker.js @@ -1,11 +0,0 @@ -/* eslint-disable no-undef */ -/** - * Wrapper to catch any initialization error and show it in the logs - */ -try { - importScripts("dist/background.js"); - self.skipWaiting(); - console.log("SERVICE WORKER init: ok"); -} catch (e) { - console.error("SERVICE WORKER failed:", e); -} diff --git a/packages/taler-wallet-webextension/src/spa/static/img/taler-alert-128.png b/packages/taler-wallet-webextension/src/spa/static/img/taler-alert-128.png Binary files differ. diff --git a/packages/taler-wallet-webextension/src/spa/static/img/taler-alert-48.png b/packages/taler-wallet-webextension/src/spa/static/img/taler-alert-48.png Binary files differ.