Merge branch 'master' of ssh://taler.net/var/git/wallet

This commit is contained in:
Florian Dold 2015-12-20 20:06:05 +01:00
commit 8e80bbbbb8
13 changed files with 194 additions and 62 deletions

1
extension/img/icon.png Symbolic link
View File

@ -0,0 +1 @@
taler-logo-24.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

1
extension/img/logo.png Symbolic link
View File

@ -0,0 +1 @@
logo-2015-medium.png

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -1,8 +1,8 @@
{ {
"description": "Privacy preserving and transparent payments", "description": "Privacy preserving and transparent payments",
"manifest_version": 2, "manifest_version": 2,
"name": "GNU Taler Wallet", "name": "Taler Wallet",
"version": "0.2", "version": "0.1",
"applications": { "applications": {
"gecko": { "gecko": {

View File

@ -7,7 +7,8 @@
<script src="../lib/handlebars-v4.0.5.js"></script> <script src="../lib/handlebars-v4.0.5.js"></script>
<script src="../lib/commonHelpers.js"></script> <script src="../lib/commonHelpers.js"></script>
<script src="confirm-contract.js"></script> <script src="confirm-contract.js"></script>
<link rel="stylesheet" type="text/css" href="../style/wallet.css"> <link rel="stylesheet" type="text/css" href="../style/page.css">
<link rel="stylesheet" type="text/css" href="../style/wallet.css">
<script id="contract-template" type="text/x-handlebars-template"> <script id="contract-template" type="text/x-handlebars-template">
Hello, this is the wallet. The merchant "{{merchant.name}}" Hello, this is the wallet. The merchant "{{merchant.name}}"
@ -29,17 +30,28 @@
<script id="error-template" type="text/x-handlebars-template"> <script id="error-template" type="text/x-handlebars-template">
Payment was not successful: {{error}} Payment was not successful: {{error}}
</script> </script>
</head> </head>
<body> <body>
<h1>Confirm Payment</h1> <header>
<div id="logo"></div>
<h1>Payment Confirmation</h1>
</header>
<div id="render-contract"></div> <aside class="sidebar" id="left">
</aside>
<button id="confirm-pay">Confirm Pay!</button> <section id="main">
<article id="contract">
<div id="render-contract"></div>
<button id="confirm-pay">Confirm Payment</button>
</article>
<article id="status"></article>
</section>
<div id="status"></div>
</body> </body>
</html> </html>

View File

@ -6,19 +6,38 @@
<script src="../lib/URI.js"></script> <script src="../lib/URI.js"></script>
<script src="../lib/polyfill-react.js"></script> <script src="../lib/polyfill-react.js"></script>
<script src="confirm-create-reserve.js"></script> <script src="confirm-create-reserve.js"></script>
<link rel="stylesheet" type="text/css" href="../style/wallet.css"> <link rel="stylesheet" type="text/css" href="../style/wallet.css">
</head> </head>
<body> <body>
<h1>Confirm Reserve Creation</h1>
Hello, this is the wallet. A bank wants to create a reserve for <span id=show-amount>(loading...)</span>. <header>
Please specify the base URL of the mint you want to use. <div id="logo"></div>
<p /> <h1>Confirm Reserve Creation</h1>
<div class='formish'> </header>
<div class='form-row'>
<label for='mint-url'>Mint URL</label> <aside class="sidebar" id="left">
<input class='url' id='mint-url' type="text" value="http://mint.demo.taler.net/"></input> </aside>
</div>
<button id='confirm'>Confirm Reserve</button> <section id="main">
</div>
<article>
<p>
A bank wants to create a reserve for <span id="show-amount">(loading...)</span>.
</p>
<p>
Please specify the base URL of the mint you want to use.
</p>
<div class="formish">
<div class="form-row">
<label for="mint-url">Mint URL</label>
<input class="url" id="mint-url" type="text" value="http://mint.demo.taler.net/"></input>
</div>
<button id="confirm">Confirm Reserve</button>
</div>
</article>
</section>
</body> </body>
</html> </html>

View File

@ -1,36 +1,43 @@
"use strict"; "use strict";
var ConfirmCreateReserve;
(function (ConfirmCreateReserve) { let url = URI(document.location.href);
let url = URI(document.location.href); let query = URI.parseQuery(url.query());
let query = URI.parseQuery(url.query());
function updateAmount() { function updateAmount() {
let showAmount = document.getElementById("show-amount"); let showAmount = document.getElementById("show-amount");
console.log("Query is " + JSON.stringify(query)); console.log("Query is " + JSON.stringify(query));
let s = query.amount_str; let s = query.amount_str;
if (!s) { if (!s) {
document.body.innerHTML = "Oops, something went wrong."; document.body.innerHTML = "Oops, something went wrong.";
return; return;
} }
showAmount.textContent = s; showAmount.textContent = s;
} }
function clone(obj) {
// This is faster than it looks ... function clone(obj) {
return JSON.parse(JSON.stringify(obj)); // This is faster than it looks ...
} return JSON.parse(JSON.stringify(obj));
document.addEventListener("DOMContentLoaded", (e) => { }
updateAmount();
document.getElementById("confirm").addEventListener("click", (e) => { document.addEventListener("DOMContentLoaded", (e) => {
let d = clone(query); updateAmount();
d.mint = document.getElementById('mint-url').value;
chrome.runtime.sendMessage({ type: 'confirm-reserve', detail: d }, (resp) => { document.getElementById("confirm").addEventListener("click", (e) => {
if (resp.success === true) { let d = clone(query);
document.location.href = resp.backlink; d.mint = document.getElementById('mint-url').value;
} chrome.runtime.sendMessage({type:'confirm-reserve', detail: d}, (resp) => {
else { if (resp.success === true) {
document.body.innerHTML = document.location.href = resp.backlink;
React.createElement("div", null, "Oops, something went wrong." + ' ' + "The bank responded with HTTP status code $", resp.status, "." + ' ' + "Here is some more info:", React.createElement("pre", null, resp.text), "`"); } else {
} document.body.innerHTML =
}); `Oops, something went wrong.
}); The bank responded with HTTP status code ${resp.status}.
Here is some more info:
<pre>${resp.text}</pre>`;
}
}); });
})(ConfirmCreateReserve || (ConfirmCreateReserve = {}));
});
});

View File

@ -3,10 +3,28 @@
<html> <html>
<head> <head>
<title>Taler Wallet: Reserve Created</title> <title>Taler Wallet: Reserve Created</title>
<link rel="stylesheet" type="text/css" href="../style/wallet.css"> <link rel="stylesheet" type="text/css" href="../style/wallet.css">
</head> </head>
<body> <body>
<h1>Success!</h1>
The reserve was created successfully. <header>
<div id="logo"></div>
<h1>Reserve Creation</h1>
</header>
<aside class="sidebar" id="left">
</aside>
<section id="main">
<article>
<h1>Success!</h1>
<p>The reserve was created successfully.</p>
</article>
</section>
</body>
</body> </body>
</html> </html>

View File

@ -21,7 +21,7 @@
</head> </head>
<body> <body>
<div id="header" class="nav"> <div id="header" class="nav">
<a href="wallet.html" class="active">Wallet</a> <a href="balance-overview.html" class="active">Wallet</a>
<a href="transactions.html">Transactions</a> <a href="transactions.html">Transactions</a>
<a href="reserves.html">Reserves</a> <a href="reserves.html">Reserves</a>
<button id="debug">Debug!</button> <button id="debug">Debug!</button>

View File

@ -8,7 +8,7 @@
<body> <body>
<div id="header" class="nav"> <div id="header" class="nav">
<a href="wallet.html">Wallet</a> <a href="balance-overview.html">Wallet</a>
<a href="transactions.html">Transactions</a> <a href="transactions.html">Transactions</a>
<a href="reserves.html" class="active">Reserves</a> <a href="reserves.html" class="active">Reserves</a>
</div> </div>

View File

@ -8,7 +8,7 @@
<body> <body>
<div id="header" class="nav"> <div id="header" class="nav">
<a href="wallet.html">Wallet</a> <a href="balance-overview.html">Wallet</a>
<a href="transactions.html">Transactions</a> <a href="transactions.html">Transactions</a>
<a href="reserves.html" class="active">Reserves</a> <a href="reserves.html" class="active">Reserves</a>
</div> </div>

View File

@ -1,3 +1,72 @@
body {
background-color: white;
margin: 0;
padding: 0;
font-family: Verdana, sans;
}
header {
width: 100%;
height: 100px;
margin: 0;
padding: 0;
border-bottom: 1px solid black;
}
header h1 {
font-size: 200%;
margin: 0;
padding: 0 0 0 120px;
position: relative;
top: 50%;
transform: translateY(-50%);
}
header #logo {
float: left;
width: 100px;
height: 100px;
padding: 0;
margin: 0;
text-align: center;
border-right: 1px solid black;
background-image: url(../img/logo.png);
background-size: 100px;
}
aside {
width: 100px;
float: left;
}
section#main {
margin: 0 0 0 100px;
padding: 20px;
border-left: 1px solid black;
height: 100%;
max-width: 40em;
}
section#main h1:first-child {
margin-top: 0;
}
h1 {
font-size: 160%;
}
h2 {
font-size: 140%;
}
h3 {
font-size: 120%;
}
h4, h5, h6 {
font-size: 100%;
}
.form-row { .form-row {
padding-top: 5px; padding-top: 5px;
padding-bottom: 5px; padding-bottom: 5px;
@ -27,3 +96,8 @@ input.url {
.json-string { .json-string {
color: olive; color: olive;
} }
button {
font-size: 120%;
padding: 0.5em;
}