33 lines
1.5 KiB
JavaScript
33 lines
1.5 KiB
JavaScript
'use strict';
|
|
const id = new URLSearchParams(location.search).get('id');
|
|
const labels = { origin:'Site', network:'Network', contentType:'Content', size:'Size', metadata:'Metadata', metaprotocol:'Metaprotocol', parent:'Parent', delegate:'Delegate', pointer:'Pointer', reinscribe:'Reinscribe', postage:'Postage', fees:'Fees' };
|
|
const summary = document.querySelector('#summary');
|
|
function render(data) {
|
|
summary.replaceChildren();
|
|
for (const [key,label] of Object.entries(labels)) {
|
|
const dt=document.createElement('dt'), dd=document.createElement('dd');
|
|
dt.textContent=label;
|
|
let value=data[key];
|
|
if(key==='size') value=`${value} bytes`;
|
|
if(key==='metadata') value=value?'yes':'no';
|
|
if(key==='postage'||key==='fees') value=`${value} sats`;
|
|
dd.textContent=value ?? 'none';
|
|
summary.append(dt,dd);
|
|
}
|
|
}
|
|
chrome.runtime.sendMessage({type:'approval:get',id}, response => {
|
|
if (response?.ok) render(response.summary);
|
|
else document.querySelector('#error').textContent=response?.error||'Request unavailable.';
|
|
});
|
|
document.querySelector('#reject').onclick=()=>chrome.runtime.sendMessage({type:'approval:reject',id},()=>window.close());
|
|
document.querySelector('#approve').onclick=()=>{
|
|
document.querySelector('#approve').disabled=true;
|
|
chrome.runtime.sendMessage({type:'approval:approve',id},response=>{
|
|
if(response?.ok) window.close();
|
|
else {
|
|
document.querySelector('#approve').disabled=false;
|
|
document.querySelector('#error').textContent=response?.error||'Signing failed.';
|
|
}
|
|
});
|
|
};
|