Update listing terms and UI copy for yearly-fee model; fix API field reference
This commit is contained in:
31
index.html
31
index.html
@@ -286,7 +286,7 @@ footer a{color:var(--accent);text-decoration:none}
|
|||||||
<div class="add-grid">
|
<div class="add-grid">
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2>Add your Will Executor</h2>
|
<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>
|
<p class="lead">Enter your server URL. It will appear in the list once your deposit is confirmed (typically about 30 minutes).</p>
|
||||||
<div class="form-row">
|
<div class="form-row">
|
||||||
<input type="text" id="url" placeholder="https://we.bitcoin-after.life">
|
<input type="text" id="url" placeholder="https://we.bitcoin-after.life">
|
||||||
</div>
|
</div>
|
||||||
@@ -300,7 +300,7 @@ footer a{color:var(--accent);text-decoration:none}
|
|||||||
<div class="terms-box" id="terms-box">
|
<div class="terms-box" id="terms-box">
|
||||||
<p class="lead">You are about to add this server:</p>
|
<p class="lead">You are about to add this server:</p>
|
||||||
<p><a id="terms-url" href="#" target="_blank" rel="noopener" class="mono"></a></p>
|
<p><a id="terms-url" href="#" target="_blank" rel="noopener" class="mono"></a></p>
|
||||||
<p style="font-size:13px;margin-top:4px"><strong>Make sure the link above works correctly before paying. No refunds or URL changes after payment.</strong></p>
|
<p style="font-size:13px;margin-top:4px"><strong>Make sure the link above works correctly before paying. No refunds after payment. URL changes require proof of ownership — see the <a href="/terms.html" target="_blank">Terms</a>.</strong></p>
|
||||||
<p style="font-size:14px">
|
<p style="font-size:14px">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" id="terms-check">
|
<input type="checkbox" id="terms-check">
|
||||||
@@ -332,7 +332,7 @@ footer a{color:var(--accent);text-decoration:none}
|
|||||||
<div class="panel">
|
<div class="panel">
|
||||||
<h2>How ranking works</h2>
|
<h2>How ranking works</h2>
|
||||||
<p class="lead">Bid-based ranking: higher contributions rank higher.</p>
|
<p class="lead">Bid-based ranking: higher contributions rank higher.</p>
|
||||||
<div style="display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px"><span style="color:var(--muted)">Deposit threshold</span><b class="mono"><span id="thr-min">50,000</span> sats</b></div>
|
<div style="display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px"><span style="color:var(--muted)">Yearly fee</span><b class="mono"><span id="thr-min">50,000</span> sats</b></div>
|
||||||
<div style="display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px"><span style="color:var(--muted)">Plugin integration</span><b>automatic</b></div>
|
<div style="display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px"><span style="color:var(--muted)">Plugin integration</span><b>automatic</b></div>
|
||||||
<div style="display:flex;justify-content:space-between;padding:8px 0;font-size:13px"><span style="color:var(--muted)">Early-adopter guarantee</span><b>12 months</b></div>
|
<div style="display:flex;justify-content:space-between;padding:8px 0;font-size:13px"><span style="color:var(--muted)">Early-adopter guarantee</span><b>12 months</b></div>
|
||||||
</div>
|
</div>
|
||||||
@@ -349,13 +349,13 @@ footer a{color:var(--accent);text-decoration:none}
|
|||||||
<div class="info-block">
|
<div class="info-block">
|
||||||
<span class="ic">02</span>
|
<span class="ic">02</span>
|
||||||
<h3>Ranking System</h3>
|
<h3>Ranking System</h3>
|
||||||
<p>This leaderboard operates on a bid-based ranking system where higher contributions result in better positioning.</p>
|
<p>This leaderboard is ordered by excess donated (over the yearly fee), then total amount paid, then lower base fee, then WeTime points.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-block">
|
<div class="info-block">
|
||||||
<span class="ic">03</span>
|
<span class="ic">03</span>
|
||||||
<h3>Early Adopter Incentives</h3>
|
<h3>Early Adopter Incentives</h3>
|
||||||
<p>To support the project's initial launch phase, we plan to maintain the first Will Executor servers for a minimum of 12 months, rewarding early participants. Subsequently, premium positions will be available through an auction system based on protocol revenue generation.</p>
|
<p>To support the project's initial launch phase, we plan to maintain the first Will Executor servers for a minimum of 12 months, rewarding early participants. Long-term position is determined by total paid, base fee, and WeTime points (see <a href="/terms.html" target="_blank">Terms</a>).</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="info-block">
|
<div class="info-block">
|
||||||
@@ -372,6 +372,7 @@ footer a{color:var(--accent);text-decoration:none}
|
|||||||
<div class="wrap">
|
<div class="wrap">
|
||||||
<span>Bitcoin After Life — Will Executor List</span>
|
<span>Bitcoin After Life — Will Executor List</span>
|
||||||
<a href="mailto:welist@bitcoin-after.life">welist@bitcoin-after.life</a>
|
<a href="mailto:welist@bitcoin-after.life">welist@bitcoin-after.life</a>
|
||||||
|
<a href="/terms.html">Terms</a>
|
||||||
<a class="mono" id="commit-link" href="https://bitcoin-after.life/gitea/bitcoinafterlife/bal-welist-website/commit/COMMIT_HASH_PLACEHOLDER">COMMIT_HASH_PLACEHOLDER</a>
|
<a class="mono" id="commit-link" href="https://bitcoin-after.life/gitea/bitcoinafterlife/bal-welist-website/commit/COMMIT_HASH_PLACEHOLDER">COMMIT_HASH_PLACEHOLDER</a>
|
||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
@@ -384,18 +385,6 @@ let minAmount = 50000;
|
|||||||
const fmt = n => (n != null ? Number(n).toLocaleString('en-US') : '—');
|
const fmt = n => (n != null ? Number(n).toLocaleString('en-US') : '—');
|
||||||
const trunc = (s, m=40) => s && s.length > m ? s.slice(0, m) + '…' : s;
|
const trunc = (s, m=40) => s && s.length > m ? s.slice(0, m) + '…' : s;
|
||||||
|
|
||||||
const statusMap = {
|
|
||||||
'OK': 'Health check passed',
|
|
||||||
'TIMEOUT': 'Connection timeout',
|
|
||||||
'CONNECTION': 'Connection error',
|
|
||||||
'STATUS': 'HTTP error',
|
|
||||||
'WRONG REPLY': 'Invalid JSON response',
|
|
||||||
'REQUEST': 'Request error',
|
|
||||||
'BODY': 'Body read error',
|
|
||||||
'DECODE': 'Decode error',
|
|
||||||
'KO': 'Generic error'
|
|
||||||
};
|
|
||||||
|
|
||||||
function getChain() {
|
function getChain() {
|
||||||
const btn = document.querySelector('#chainSeg [aria-pressed="true"]');
|
const btn = document.querySelector('#chainSeg [aria-pressed="true"]');
|
||||||
return btn ? btn.dataset.c : 'bitcoin';
|
return btn ? btn.dataset.c : 'bitcoin';
|
||||||
@@ -403,9 +392,7 @@ function getChain() {
|
|||||||
|
|
||||||
function getFiltered() {
|
function getFiltered() {
|
||||||
return allServers
|
return allServers
|
||||||
.filter(d => withTor ? true : !d.onion)
|
.filter(d => (d.url + " " + (d.info||"")).toLowerCase().includes(q.toLowerCase()));
|
||||||
.filter(d => (d.url + " " + (d.info||"")).toLowerCase().includes(q.toLowerCase()))
|
|
||||||
.sort((a, b) => (b.last_block||0) - (a.last_block||0) || (b.points||0) - (a.points||0) || (b.count_win||0) - (a.count_win||0) || (a.base_fee||0) - (b.base_fee||0) || (b.version||'').localeCompare(a.version||''));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function render() {
|
function render() {
|
||||||
@@ -449,7 +436,7 @@ function render() {
|
|||||||
</div>`);
|
</div>`);
|
||||||
});
|
});
|
||||||
|
|
||||||
const online = allServers.filter(d => d.status === "online" || d.status === "OK").length;
|
const online = allServers.filter(d => d.status === "OK").length;
|
||||||
document.getElementById('s-online').textContent = online;
|
document.getElementById('s-online').textContent = online;
|
||||||
document.getElementById('s-total').textContent = allServers.length;
|
document.getElementById('s-total').textContent = allServers.length;
|
||||||
const top = getFiltered()[0];
|
const top = getFiltered()[0];
|
||||||
@@ -606,7 +593,7 @@ document.getElementById('terms-accept').addEventListener('click', async function
|
|||||||
inv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
inv.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const amountSats = result.amount != null ? result.amount : minAmount;
|
const amountSats = result.min_amount != null ? result.min_amount : minAmount;
|
||||||
const amountBtc = (amountSats / 1e8).toFixed(8).replace(/\.?0+$/, '');
|
const amountBtc = (amountSats / 1e8).toFixed(8).replace(/\.?0+$/, '');
|
||||||
const invoiceuri = `bitcoin:${result.address}?amount=${amountBtc}&label=BAL&message=Order+For+url+%26+${encodeURIComponent(url)}`;
|
const invoiceuri = `bitcoin:${result.address}?amount=${amountBtc}&label=BAL&message=Order+For+url+%26+${encodeURIComponent(url)}`;
|
||||||
const qrEl = document.getElementById('qrcode');
|
const qrEl = document.getElementById('qrcode');
|
||||||
|
|||||||
@@ -8,10 +8,11 @@
|
|||||||
<!--
|
<!--
|
||||||
Sections 2-4 rewritten on 2026-07 for the yearly-listing model
|
Sections 2-4 rewritten on 2026-07 for the yearly-listing model
|
||||||
(flat yearly fee, renewal from 6 months before expiry). The list
|
(flat yearly fee, renewal from 6 months before expiry). The list
|
||||||
is ordered by total amount paid, then base fee, then WeTime points
|
is ordered by total excess donated, then total amount paid, then
|
||||||
as a tie-breaker (see Section 3), matching the server-side get_list()
|
base fee, then WeTime points as a tie-breaker (see Section 3),
|
||||||
ordering. Section 1, header, footer and the dynamic min-deposit
|
matching the server-side get_list() ordering. Section 1, header,
|
||||||
script are unchanged from the previous version.
|
footer and the dynamic min-deposit script are unchanged from the
|
||||||
|
previous version.
|
||||||
-->
|
-->
|
||||||
<style>
|
<style>
|
||||||
:root{
|
:root{
|
||||||
|
|||||||
Reference in New Issue
Block a user