Board: no replay of old payouts as toasts on load; only drips that flip to paid while the board is open (Marty, 2026-09-21)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -46,6 +46,6 @@
|
|||||||
<footer class="foot">Rewards are for completed missions, not income. The daily pool is limited; when it is spent, claims close until midnight Central. Cryptocurrency involves risk of loss.</footer>
|
<footer class="foot">Rewards are for completed missions, not income. The daily pool is limited; when it is spent, claims close until midnight Central. Cryptocurrency involves risk of loss.</footer>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal" id="shareModal" hidden><div class="modal-card"><button class="modal-x" id="shareClose" type="button" aria-label="Close">×</button><div id="shareBody"></div></div></div>
|
<div class="modal" id="shareModal" hidden><div class="modal-card"><button class="modal-x" id="shareClose" type="button" aria-label="Close">×</button><div id="shareBody"></div></div></div>
|
||||||
<script src="/app.js?v=10"></script>
|
<script src="/app.js?v=11"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+8
-4
@@ -12,11 +12,15 @@
|
|||||||
host.appendChild(t); requestAnimationFrame(() => t.classList.add('in'));
|
host.appendChild(t); requestAnimationFrame(() => t.classList.add('in'));
|
||||||
setTimeout(() => { t.classList.remove('in'); setTimeout(() => t.remove(), 400); }, kind === 'big' ? 9000 : 6000);
|
setTimeout(() => { t.classList.remove('in'); setTimeout(() => t.remove(), 400); }, kind === 'big' ? 9000 : 6000);
|
||||||
}
|
}
|
||||||
const seenPaid = new Set(); let seenLedger = null;
|
const seenPaid = new Set(); let seenLedger = null, paidPrimed = false;
|
||||||
// a drip that flips to paid while the board is open gets a toast with its proof
|
// a drip that flips to paid while the board is open gets a toast with its proof. The first pass only
|
||||||
|
// records what is already paid: history is on the ledger, not in the toasts (Marty, 2026-09-21).
|
||||||
function watchPaid() {
|
function watchPaid() {
|
||||||
for (const d of (board.drips || [])) if (d.status === 'paid' && d.tx) { if (seenPaid.size && !seenPaid.has(d.id)) toast('\u{1F4B0} <b>' + d.pol + ' POL</b> landed in your wallet.', 'ok', { href: explorer + '/tx/' + d.tx, text: 'verify \u2197' }); seenPaid.add(d.id); }
|
for (const d of (board.drips || [])) if (d.status === 'paid' && d.tx) {
|
||||||
if (!seenPaid.size) for (const d of (board.drips || [])) if (d.status === 'paid') seenPaid.add(d.id);
|
if (paidPrimed && !seenPaid.has(d.id)) toast('\u{1F4B0} <b>' + d.pol + ' POL</b> landed in your wallet.', 'ok', { href: explorer + '/tx/' + d.tx, text: 'verify \u2197' });
|
||||||
|
seenPaid.add(d.id);
|
||||||
|
}
|
||||||
|
paidPrimed = true;
|
||||||
}
|
}
|
||||||
// other hunters' finds, as they happen
|
// other hunters' finds, as they happen
|
||||||
async function watchLedger() {
|
async function watchLedger() {
|
||||||
|
|||||||
Reference in New Issue
Block a user