basic grids demo seems to work...
This commit is contained in:
Vendored
+83
@@ -0,0 +1,83 @@
|
||||
"use strict";
|
||||
/**
|
||||
* Title: GRIDS Basic Page Script
|
||||
* Description: Page Script for /grids-basic.html
|
||||
* Author: Peter Harpending <peterharpending@qpq.swiss>
|
||||
* Date: 2025-12-29
|
||||
* Last-Updated: 2025-12-29
|
||||
*
|
||||
* @module
|
||||
*/
|
||||
main();
|
||||
/**
|
||||
* Runs on page load
|
||||
*/
|
||||
async function main() {
|
||||
let n_input = document.getElementById('grids-n');
|
||||
let r_input = document.getElementById('grids-r');
|
||||
let a_input = document.getElementById('grids-a');
|
||||
let p_input = document.getElementById('grids-p');
|
||||
let submit_btn = document.getElementById('grids-submit');
|
||||
let grids_url_elt = document.getElementById('grids-url');
|
||||
let grids_png_elt = document.getElementById('grids-png');
|
||||
// Page initialization
|
||||
submit_btn.addEventListener('click', async function (e) {
|
||||
await on_submit(n_input, r_input, a_input, p_input, grids_url_elt, grids_png_elt);
|
||||
});
|
||||
// enable buttons
|
||||
submit_btn.disabled = false;
|
||||
}
|
||||
async function on_submit(n_input, r_input, a_input, p_input, grids_url_elt, grids_png_elt) {
|
||||
// pull out values
|
||||
let network_id = n_input.value;
|
||||
let recipient = r_input.value;
|
||||
let amount = parseInt(a_input.value);
|
||||
let payload = p_input.value;
|
||||
let result = await grids_request(network_id, recipient, amount, payload);
|
||||
// show url field and png
|
||||
if (result.ok) {
|
||||
let url = result.result.url;
|
||||
let png_base64 = result.result.png_base64;
|
||||
let src_prefix = 'data:image/png;base64,';
|
||||
let src = src_prefix + png_base64;
|
||||
grids_url_elt.innerText = url;
|
||||
grids_png_elt.src = src;
|
||||
grids_url_elt.hidden = false;
|
||||
grids_png_elt.hidden = false;
|
||||
}
|
||||
else {
|
||||
alert('ERROR: ' + result.error);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* gets the grids url
|
||||
*/
|
||||
async function grids_request(net_id, recipient, amount, payload) {
|
||||
// format for network transmission
|
||||
let obj = { 'network_id': net_id,
|
||||
'recipient': recipient,
|
||||
'amount': amount,
|
||||
'payload': payload };
|
||||
let obj_text = JSON.stringify(obj, undefined, 4);
|
||||
let url = '/grids-spend';
|
||||
let req_options = { method: 'POST',
|
||||
headers: { 'content-type': 'application/json' },
|
||||
body: obj_text };
|
||||
let result = { ok: false,
|
||||
error: 'IT DO BE LIKE THAT MISTA STANCIL' };
|
||||
try {
|
||||
let response = await fetch(url, req_options);
|
||||
if (response.ok)
|
||||
result = await response.json();
|
||||
else {
|
||||
console.log('bad http response:', response);
|
||||
result = { ok: false, error: 'BAD HTTP RESPONSE' };
|
||||
}
|
||||
}
|
||||
catch (x) {
|
||||
console.log('network error:', x);
|
||||
result = { ok: false, error: 'NETWORK ERROR' };
|
||||
}
|
||||
return result;
|
||||
}
|
||||
//# sourceMappingURL=grids-basic.js.map
|
||||
Reference in New Issue
Block a user