Files
inscriboor/extension/app.js
T

24 lines
1.3 KiB
JavaScript

'use strict';
const descriptions = {
Wallet: 'Address, signing requests, and transaction approval.',
Inscribe: 'Approve commit/reveal inscription transactions prepared by a page.',
Nostr: 'Identities, events, and relays come after the wallet boundary is proven.',
Chain: 'Full chain inspection lives on the Super Testnet page.'
};
const buttons = document.querySelectorAll('[data-feature]');
for (const button of buttons) button.addEventListener('click', () => {
const feature=button.dataset.feature;
document.querySelector('#feature').textContent=feature;
document.querySelector('#description').textContent=descriptions[feature];
for(const candidate of buttons) candidate.setAttribute('aria-pressed',String(candidate===button));
});
const port=chrome.runtime.connect({name:'inscriboor-provider'});
port.onMessage.addListener(message=>{
if(message.id!=='popup-account') return;
const account=message.result?.[0];
if(!account){document.querySelector('#wallet-state').textContent=message.error||'Wallet unavailable';return;}
document.querySelector('#wallet-state').textContent='Ready to sign';
document.querySelector('#wallet-address').textContent=account.address;
});
port.postMessage({id:'popup-account',method:'bitcoin_getAccounts',params:{},origin:location.origin});