forked from bitcoinafterlife/bal-welist-website
add contact field to form and invoice, move submit button, add weinfo link in invoice, fix undefined fields in weinfo page
This commit is contained in:
26
index.html
26
index.html
@@ -151,6 +151,8 @@ tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 50%,transparent)}
|
||||
.invoice .row:last-child{border-bottom:0}
|
||||
.invoice .row span:first-child{color:var(--muted)}
|
||||
.invoice .row span:last-child{font-family:var(--mono);text-align:right;word-break:break-all}
|
||||
.invoice .row a{color:var(--accent);text-decoration:none}
|
||||
.invoice .row a:hover{text-decoration:underline}
|
||||
#qrcode{margin:18px auto 4px;width:160px}
|
||||
#qrcode canvas,#qrcode img{width:160px!important;height:160px!important;max-width:100%}
|
||||
#qr-overlay{
|
||||
@@ -286,9 +288,12 @@ footer a{color:var(--accent);text-decoration:none}
|
||||
<h2>Add your Will Executor</h2>
|
||||
<p class="lead">Enter your server URL. It will be checked online before it appears in the list.</p>
|
||||
<div class="form-row">
|
||||
<input type="text" id="url" placeholder="https://bitcoin-after.life:9137">
|
||||
<button class="btn" id="submit">Add server</button>
|
||||
<input type="text" id="url" placeholder="https://we.bitcoin-after.life">
|
||||
</div>
|
||||
<div style="margin-top:8px">
|
||||
<input type="text" id="contact" placeholder="Email, npub or Telegram (optional)" style="width:100%;font:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line-strong);border-radius:8px;background:var(--panel);color:var(--ink)">
|
||||
</div>
|
||||
<button class="btn" id="submit" style="margin-top:8px">Add server</button>
|
||||
|
||||
<div class="ok-line" id="iv-status"></div>
|
||||
|
||||
@@ -310,7 +315,9 @@ footer a{color:var(--accent);text-decoration:none}
|
||||
<div class="row"><span>Chain</span><span id="iv-chain">—</span></div>
|
||||
<div class="row"><span>Address</span><span id="iv-addr">—</span></div>
|
||||
<div class="row"><span>Balance</span><span id="iv-balance">—</span></div>
|
||||
<div class="row"><span>Contact</span><span id="iv-contact">—</span></div>
|
||||
<div class="row"><span>Server</span><span id="iv-url">—</span></div>
|
||||
<div class="row"><span>Will Executor</span><span><a id="iv-weinfo" href="#" target="_blank">—</a></span></div>
|
||||
<div id="qrcode"></div>
|
||||
<button class="btn-share" id="share-btn">Share invoice</button>
|
||||
<p class="note">
|
||||
@@ -502,6 +509,9 @@ document.getElementById('submit').addEventListener('click', async () => {
|
||||
document.getElementById('iv-addr').textContent = '—';
|
||||
document.getElementById('iv-balance').textContent = '—';
|
||||
document.getElementById('iv-url').textContent = '—';
|
||||
document.getElementById('iv-contact').textContent = '—';
|
||||
document.getElementById('iv-weinfo').href = '#';
|
||||
document.getElementById('iv-weinfo').textContent = '—';
|
||||
document.getElementById('qrcode').innerHTML = '';
|
||||
document.getElementById('qrcode').style.cursor = '';
|
||||
document.getElementById('qr-overlay').classList.remove('show');
|
||||
@@ -514,7 +524,7 @@ document.getElementById('submit').addEventListener('click', async () => {
|
||||
const response = await fetch('/data', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({ url, chain })
|
||||
body: JSON.stringify({ url, chain, contact: document.getElementById('contact').value.trim() || undefined })
|
||||
});
|
||||
const result = await response.json();
|
||||
if (!response.ok) {
|
||||
@@ -526,6 +536,16 @@ document.getElementById('submit').addEventListener('click', async () => {
|
||||
document.getElementById('iv-chain').textContent = result.chain || chain;
|
||||
document.getElementById('iv-addr').textContent = result.address || '—';
|
||||
document.getElementById('iv-balance').textContent = result.balance != null ? fmt(result.balance) : '—';
|
||||
document.getElementById('iv-contact').textContent = document.getElementById('contact').value.trim() || '—';
|
||||
const weLink = result.id ? `/weinfo/${result.chain || chain}/${result.id}` : null;
|
||||
const weinfoEl = document.getElementById('iv-weinfo');
|
||||
if (weLink) {
|
||||
weinfoEl.href = weLink;
|
||||
weinfoEl.textContent = 'View page';
|
||||
} else {
|
||||
weinfoEl.href = '#';
|
||||
weinfoEl.textContent = '—';
|
||||
}
|
||||
const amountSats = result.amount != null ? result.amount : minAmount;
|
||||
const amountBtc = (amountSats / 1e8).toFixed(8).replace(/\.?0+$/, '');
|
||||
const invoiceuri = `bitcoin:${result.address}?amount=${amountBtc}&label=BAL&message=Order+For+url+%26+${encodeURIComponent(url)}`;
|
||||
|
||||
Reference in New Issue
Block a user