aboutsummaryrefslogtreecommitdiff
path: root/extension/pages/confirm-contract.js
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2015-12-16 10:45:16 +0100
committerFlorian Dold <florian.dold@gmail.com>2015-12-16 10:45:16 +0100
commit276f9108ab1dac3b7fc6670b1061f8cf7809785a (patch)
treef8d7fe273c6fc710da7317833d9961912a17fe55 /extension/pages/confirm-contract.js
parent1b295d0f1aa18ece305fdc96cc356bfc2e794934 (diff)
missing files
Diffstat (limited to 'extension/pages/confirm-contract.js')
-rw-r--r--extension/pages/confirm-contract.js39
1 files changed, 39 insertions, 0 deletions
diff --git a/extension/pages/confirm-contract.js b/extension/pages/confirm-contract.js
new file mode 100644
index 000000000..fe16bcbca
--- /dev/null
+++ b/extension/pages/confirm-contract.js
@@ -0,0 +1,39 @@
+/// <reference path="../decl/handlebars/handlebars.d.ts" />
+"use strict";
+let url = URI(document.location.href);
+let query = URI.parseQuery(url.query());
+let $_ = (x) => document.getElementById(x);
+function renderContract(contract) {
+ let showAmount = document.getElementById("show-amount");
+ $_('merchant-name').innerText = contract.merchant.name;
+}
+function clone(obj) {
+ // This is faster than it looks ...
+ return JSON.parse(JSON.stringify(obj));
+}
+Handlebars.registerHelper('prettyAmount', function (amount) {
+ let v = amount.value + amount.fraction / 10e6;
+ return v.toFixed(2) + " " + amount.currency;
+});
+document.addEventListener("DOMContentLoaded", (e) => {
+ let contract = JSON.parse(query.contract);
+ console.dir(contract);
+ let source = $_("contract-template").innerHTML;
+ let template = Handlebars.compile(source);
+ let html = template(contract.contract);
+ $_("render-contract").innerHTML = html;
+ document.getElementById("confirm-purchase").addEventListener("click", (e) => {
+ let d = clone(query);
+ chrome.runtime.sendMessage({ type: 'confirm-purchase', detail: d }, (resp) => {
+ if (resp.success === true) {
+ document.location.href = resp.backlink;
+ }
+ else {
+ document.body.innerHTML =
+ `Oops, something went wrong.
+ Here is some more info:
+ <pre>${resp.text}</pre>`;
+ }
+ });
+ });
+});