landing: compact GOA alt display and all-account bank fallback
Wire goa-amount.js into bank/exchange/merchant intros, deploy it with the landings, and deepen the in-container bank stats fallback to scan all accounts (skip only exchange) when the host timer is down.
This commit is contained in:
parent
746d7a41af
commit
48f77139c5
8 changed files with 363 additions and 39 deletions
|
|
@ -444,12 +444,29 @@ sudo apt-get install -y taler-wallet-cli</pre>
|
|||
</p>
|
||||
</footer>
|
||||
</main>
|
||||
<script src="/intro/goa-amount.js"></script>
|
||||
<script>
|
||||
(function () {
|
||||
function set(id, v) {
|
||||
var el = document.getElementById(id);
|
||||
if (el) el.textContent = v == null || v === "" ? "—" : String(v);
|
||||
}
|
||||
function setAmt(id, amount, altKey, d) {
|
||||
var el = document.getElementById(id);
|
||||
if (!el) return;
|
||||
var row = null;
|
||||
if (altKey && d && d[altKey]) {
|
||||
row = { amount: amount, amount_alt: d[altKey], amount_full: d[altKey.replace(/_alt$/, "_full")] || d[amount + "_full"] };
|
||||
}
|
||||
if (window.GoaAmount) {
|
||||
var f = row ? GoaAmount.pick(row, d && d.alt_unit_names) : GoaAmount.format(amount, d && d.alt_unit_names);
|
||||
el.textContent = f.display;
|
||||
if (f.title && f.title !== f.display) el.setAttribute("title", f.title);
|
||||
else el.removeAttribute("title");
|
||||
} else {
|
||||
el.textContent = (row && row.amount_alt) || amount || "—";
|
||||
}
|
||||
}
|
||||
function msLabel(ms, http) {
|
||||
if (ms == null || ms === "") return "—";
|
||||
var s = ms + " ms";
|
||||
|
|
@ -460,12 +477,13 @@ sudo apt-get install -y taler-wallet-cli</pre>
|
|||
.then(function (r) { if (!r.ok) throw new Error("x"); return r.json(); })
|
||||
.then(function (d) {
|
||||
if (!d || !d.ok) throw new Error("bad");
|
||||
if (window.GoaAmount) GoaAmount.rememberAlt(d);
|
||||
set("st-coins", d.known_coins);
|
||||
set("st-coins-live", d.coins_live);
|
||||
set("st-coins-spent", d.coins_spent);
|
||||
set("st-remaining", d.coins_remaining_amount);
|
||||
setAmt("st-remaining", d.coins_remaining_amount, "coins_remaining_amount_alt", d);
|
||||
set("st-withdraw", d.withdraw_ops);
|
||||
set("st-withdraw-amt", d.withdraw_amount);
|
||||
setAmt("st-withdraw-amt", d.withdraw_amount, "withdraw_amount_alt", d);
|
||||
set("st-refresh", d.refresh_ops);
|
||||
set("st-coin-dep", d.coin_deposits);
|
||||
set("st-batch-dep", d.batch_deposits);
|
||||
|
|
@ -477,7 +495,7 @@ sudo apt-get install -y taler-wallet-cli</pre>
|
|||
set("st-denoms-wd", d.denoms_withdrawable);
|
||||
set("st-reserves", d.reserves);
|
||||
set("st-wire-in-n", d.wire_in_count);
|
||||
set("st-wire-in-amt", d.wire_in_amount);
|
||||
setAmt("st-wire-in-amt", d.wire_in_amount, "wire_in_amount_alt", d);
|
||||
set("st-wire-out", d.wire_out);
|
||||
|
||||
var ladder = document.getElementById("st-ladder");
|
||||
|
|
@ -486,7 +504,12 @@ sudo apt-get install -y taler-wallet-cli</pre>
|
|||
(d.denom_ladder || []).forEach(function (x) {
|
||||
var s = document.createElement("span");
|
||||
s.className = "pill";
|
||||
s.textContent = x.value + (x.keys > 1 ? " ×" + x.keys : "");
|
||||
var lab = x.value_alt || x.value || "?";
|
||||
if (window.GoaAmount && !x.value_alt) {
|
||||
lab = GoaAmount.format(x.value, d.alt_unit_names).display;
|
||||
}
|
||||
s.textContent = lab + (x.keys > 1 ? " ×" + x.keys : "");
|
||||
if (x.value && lab !== x.value) s.title = x.value;
|
||||
ladder.appendChild(s);
|
||||
});
|
||||
if (!(d.denom_ladder || []).length) ladder.textContent = "—";
|
||||
|
|
@ -499,7 +522,11 @@ sudo apt-get install -y taler-wallet-cli</pre>
|
|||
wrap.hidden = false;
|
||||
var html = "<table><thead><tr><th>Value</th><th>Coins</th><th>Live</th></tr></thead><tbody>";
|
||||
by.forEach(function (r) {
|
||||
html += "<tr><td>" + r.value + "</td><td>" + r.coins + "</td><td>" + r.live + "</td></tr>";
|
||||
var v = r.value_alt || r.value || "?";
|
||||
if (window.GoaAmount && !r.value_alt) {
|
||||
v = GoaAmount.format(r.value, d.alt_unit_names).display;
|
||||
}
|
||||
html += "<tr><td title=\"" + (r.value || "") + "\">" + v + "</td><td>" + r.coins + "</td><td>" + r.live + "</td></tr>";
|
||||
});
|
||||
html += "</tbody></table>";
|
||||
box.innerHTML = html;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue