Member ads everywhere they belong: text strip under every pane title, banner at the foot of each main pane, wall + plays slots; Network views as its own campaign column

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-10 08:35:31 -05:00
parent 787963d605
commit 276618dd73
19 changed files with 57 additions and 33 deletions
+2 -2
View File
@@ -6,7 +6,7 @@
<title>Admin | InstantAdPay</title> <title>Admin | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
<style> <style>
.adm-table th,.adm-table td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:13.5px} .adm-table th,.adm-table td{padding:8px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);font-size:13.5px}
.adm-table th{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em} .adm-table th{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
@@ -305,7 +305,7 @@
</div> </div>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/admin.js?v=20260910b"></script> <script src="/assets/admin.js?v=20260910b"></script>
</body> </body>
</html> </html>
+1
View File
@@ -129,6 +129,7 @@ window.IAP = (function () {
const { ad } = await (await fetch(q)).json(); const { ad } = await (await fetch(q)).json();
const el = $(elId); const el = $(elId);
if (!ad || !el) return; if (!ad || !el) return;
el.hidden = false;
if (ad.imageUrl) { if (ad.imageUrl) {
el.style.textAlign = 'center'; el.style.textAlign = 'center';
el.innerHTML = '<a href="' + ad.targetUrl + '" target="_blank" rel="noopener nofollow">' el.innerHTML = '<a href="' + ad.targetUrl + '" target="_blank" rel="noopener nofollow">'
+7 -4
View File
@@ -462,6 +462,9 @@
document.querySelectorAll('.bo-menu [data-pane]').forEach(b => document.querySelectorAll('.bo-menu [data-pane]').forEach(b =>
b.classList.toggle('on', b.dataset.pane === name)); b.classList.toggle('on', b.dataset.pane === name));
if ($('boTitle')) $('boTitle').textContent = TITLES[name]; if ($('boTitle')) $('boTitle').textContent = TITLES[name];
// member ads: a fresh text ad in the strip under the title, and a banner at the foot of the pane
IAP.adSlot('text', 'adStripTop');
if ($('adSlotPane-' + name)) IAP.adSlot('banner', 'adSlotPane-' + name);
if (name === 'earn') setEarnSub(earnSub); // refresh whichever sub-tab is active if (name === 'earn') setEarnSub(earnSub); // refresh whichever sub-tab is active
if (name === 'profile') loadLineBanner(); if (name === 'profile') loadLineBanner();
if (name === 'line') { loadLineage(); loadUplineMessages(); loadCoach(); loadLinkStats(); loadProspects(); } if (name === 'line') { loadLineage(); loadUplineMessages(); loadCoach(); loadLinkStats(); loadProspects(); }
@@ -602,13 +605,13 @@
if (!r.campaigns.length) { el.innerHTML = '<p class="muted small">No campaigns yet. Launch your first below.</p>'; return; } if (!r.campaigns.length) { el.innerHTML = '<p class="muted small">No campaigns yet. Launch your first below.</p>'; return; }
const tbl = document.createElement('div'); const tbl = document.createElement('div');
tbl.className = 'tablewrap'; tbl.className = 'tablewrap';
tbl.innerHTML = '<table><thead><tr><th>Name</th><th>Type</th><th class="num">Views</th><th class="num">Clicks</th>' tbl.innerHTML = '<table><thead><tr><th>Name</th><th>Type</th><th class="num">Views here</th><th class="num" title="Impressions delivered by Network Ad Space across the wider network (banner and text ads only)">Network views</th><th class="num">Clicks</th>'
+ '<th class="num">Spent</th><th class="num">Budget</th><th>Status</th><th></th></tr></thead><tbody>' + '<th class="num">Spent</th><th class="num">Budget</th><th>Status</th><th></th></tr></thead><tbody>'
+ r.campaigns.map(c => '<tr><td><b>' + c.name + '</b></td>' + r.campaigns.map(c => '<tr><td><b>' + c.name + '</b></td>'
+ '<td>' + c.type + (c.type === 'banner' && c.width ? ' <span class="muted small">' + c.width + '×' + c.height + '</span>' : '') + '</td>' + '<td>' + c.type + (c.type === 'banner' && c.width ? ' <span class="muted small">' + c.width + '×' + c.height + '</span>' : '') + '</td>'
+ '<td class="num">' + c.imps.toLocaleString() + '<td class="num">' + c.imps.toLocaleString() + '</td>'
+ (c.impsNas ? ' <span class="muted small" title="views across the network">+' + c.impsNas.toLocaleString() + ' network</span>' : '') + '<td class="num">' + (['banner', 'text'].includes(c.type) ? (c.impsNas || 0).toLocaleString() : '<span class="muted small" title="only banner and text ads syndicate to the network">n/a</span>') + '</td>'
+ '</td><td class="num">' + c.clicks + '</td>' + '<td class="num">' + c.clicks + '</td>'
+ '<td class="num">' + c.spent + '</td><td class="num">' + c.budget + '</td>' + '<td class="num">' + c.spent + '</td><td class="num">' + c.budget + '</td>'
+ '<td>' + (c.status === 'out' ? '<span class="badge amber">budget spent</span>' : c.status) + '</td>' + '<td>' + (c.status === 'out' ? '<span class="badge amber">budget spent</span>' : c.status) + '</td>'
+ '<td>' + (c.status === 'active' ? '<button class="btn small sec" data-camp="' + c.id + '" data-act="pause">Pause</button>' + '<td>' + (c.status === 'active' ? '<button class="btn small sec" data-camp="' + c.id + '" data-act="pause">Pause</button>'
+1
View File
@@ -7,6 +7,7 @@
document.getElementById('gate').style.display = signedIn ? 'none' : 'block'; document.getElementById('gate').style.display = signedIn ? 'none' : 'block';
document.getElementById('body').style.display = signedIn ? 'block' : 'none'; document.getElementById('body').style.display = signedIn ? 'block' : 'none';
if (!signedIn) return; if (!signedIn) return;
try { IAP.adSlot('banner', 'adSlotPlays'); } catch (e) {}
const pb = document.getElementById('printBtn'); if (pb) pb.addEventListener('click', () => window.print()); const pb = document.getElementById('printBtn'); if (pb) pb.addEventListener('click', () => window.print());
const tok = me.username || me.refCode || me.memberId; const tok = me.username || me.refCode || me.memberId;
if (tok) document.querySelectorAll('[data-link]').forEach(el => { el.textContent = location.origin + '/join/' + tok; }); if (tok) document.querySelectorAll('[data-link]').forEach(el => { el.textContent = location.origin + '/join/' + tok; });
+5
View File
@@ -213,6 +213,11 @@ tr:last-child td{border-bottom:0}
.boot-spin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh} .boot-spin{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:60vh}
.boot-spin .ring{width:46px;height:46px;border-radius:50%;border:4px solid rgba(67,232,195,.18);border-top-color:var(--mint);animation:bootspin .9s linear infinite} .boot-spin .ring{width:46px;height:46px;border-radius:50%;border:4px solid rgba(67,232,195,.18);border-top-color:var(--mint);animation:bootspin .9s linear infinite}
@keyframes bootspin{to{transform:rotate(360deg)}} @keyframes bootspin{to{transform:rotate(360deg)}}
.bo-top{flex-wrap:wrap}
.ad-strip{flex:1 1 100%;font-size:13.5px;padding:8px 0 2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-strip a{color:var(--ink)}
.ad-strip b{color:var(--mint)}
.ad-foot{text-align:center}
.done-big{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;text-align:center} .done-big{display:flex;flex-direction:column;align-items:center;gap:6px;padding:26px 16px;text-align:center}
.done-big .tick{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:48px;font-weight:800;color:var(--mint-ink);background:var(--mint);box-shadow:0 0 0 10px rgba(67,232,195,.15),0 10px 30px rgba(67,232,195,.35)} .done-big .tick{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;font-size:48px;font-weight:800;color:var(--mint-ink);background:var(--mint);box-shadow:0 0 0 10px rgba(67,232,195,.15),0 10px 30px rgba(67,232,195,.35)}
.done-big b{font-family:var(--disp);font-size:22px;margin-top:8px} .done-big b{font-family:var(--disp);font-size:22px;margin-top:8px}
+1
View File
@@ -48,6 +48,7 @@
try { viewed = JSON.parse(localStorage.getItem(VKEY) || '{}'); } catch (e) {} try { viewed = JSON.parse(localStorage.getItem(VKEY) || '{}'); } catch (e) {}
const DWELL = 10; const DWELL = 10;
const grid = IAP.$('wallGrid'); const grid = IAP.$('wallGrid');
IAP.adSlot('text', 'adSlotWallText'); IAP.adSlot('banner', 'adSlotWallBanner');
grid.innerHTML = ''; grid.innerHTML = '';
// join is gated: you must view every ad on the wall before you can join // join is gated: you must view every ad on the wall before you can join
const joinBtn = IAP.$('wallJoin'), gate = IAP.$('wallGate'); const joinBtn = IAP.$('wallJoin'), gate = IAP.$('wallGate');
+2 -2
View File
@@ -17,7 +17,7 @@
<meta name="theme-color" content="#043b2f"> <meta name="theme-color" content="#043b2f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div class="wrap"> <div class="wrap">
@@ -141,7 +141,7 @@
<div class="small">Advertising services with a performance referral program. Not an investment product; no income guarantees. Crypto transactions are irreversible. Never spend what you cannot afford.</div> <div class="small">Advertising services with a performance referral program. Not an investment product; no income guarantees. Crypto transactions are irreversible. Never spend what you cannot afford.</div>
</footer> </footer>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/contract.js?v=20260908p"></script> <script src="/assets/contract.js?v=20260908p"></script>
<script src="/assets/chat.js?v=20260906m"></script> <script src="/assets/chat.js?v=20260906m"></script>
</body> </body>
+2 -2
View File
@@ -5,7 +5,7 @@
<title>Disclaimer | InstantAdPay</title> <title>Disclaimer | InstantAdPay</title>
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div id="nav"></div> <div id="nav"></div>
@@ -26,7 +26,7 @@
<p class="muted small">You decide whether, and how much, to spend. Never spend more than you can afford to lose.</p> <p class="muted small">You decide whether, and how much, to spend. Never spend more than you can afford to lose.</p>
</div> </div>
</div></section> </div></section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/legal.js?v=20260908a"></script> <script src="/assets/legal.js?v=20260908a"></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -20,7 +20,7 @@
<meta name="theme-color" content="#043b2f"> <meta name="theme-color" content="#043b2f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
@@ -461,7 +461,7 @@
</div> </div>
</section> </section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/wallet.js?v=20260909c"></script> <script src="/assets/wallet.js?v=20260909c"></script>
<script src="/assets/home.js?v=20260906m"></script> <script src="/assets/home.js?v=20260906m"></script>
<script src="/assets/chat.js?v=20260906m"></script> <script src="/assets/chat.js?v=20260906m"></script>
+2 -2
View File
@@ -6,7 +6,7 @@
<title>You're invited | InstantAdPay</title> <title>You're invited | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
<style> <style>
.jn-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0} .jn-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 0}
.jn-hero{padding:14px 0 4px;text-align:left} .jn-hero{padding:14px 0 4px;text-align:left}
@@ -127,7 +127,7 @@
InstantAdPay · <a href="/contract">Contract</a> · <a href="/terms">Terms</a> · <a href="/privacy">Privacy</a> · <a href="/disclaimer">Disclaimer</a> InstantAdPay · <a href="/contract">Contract</a> · <a href="/terms">Terms</a> · <a href="/privacy">Privacy</a> · <a href="/disclaimer">Disclaimer</a>
</div> </div>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/join.js?v=20260910a"></script> <script src="/assets/join.js?v=20260910a"></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -17,7 +17,7 @@
<meta name="theme-color" content="#043b2f"> <meta name="theme-color" content="#043b2f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div class="wrap"> <div class="wrap">
@@ -37,7 +37,7 @@
<div>InstantAdPay · <a href="/">how it works</a> · <a id="contractLink" href="#" target="_blank" rel="noopener">contract source ↗</a></div> <div>InstantAdPay · <a href="/">how it works</a> · <a id="contractLink" href="#" target="_blank" rel="noopener">contract source ↗</a></div>
</footer> </footer>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/ledger.js?v=20260906m"></script> <script src="/assets/ledger.js?v=20260906m"></script>
<script src="/assets/chat.js?v=20260906m"></script> <script src="/assets/chat.js?v=20260906m"></script>
</body> </body>
+13 -3
View File
@@ -5,7 +5,7 @@
<title>Member area | InstantAdPay</title> <title>Member area | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body class="bo-body"> <body class="bo-body">
@@ -160,6 +160,7 @@
<button id="boBurger" aria-label="Menu" type="button">☰</button> <button id="boBurger" aria-label="Menu" type="button">☰</button>
<h2 id="boTitle" style="margin:0">Overview</h2> <h2 id="boTitle" style="margin:0">Overview</h2>
<span class="bo-rehearsal small" id="boRehearsal" hidden></span> <span class="bo-rehearsal small" id="boRehearsal" hidden></span>
<div class="ad-strip" id="adStripTop" hidden></div>
</header> </header>
<main class="bo-content"> <main class="bo-content">
@@ -342,6 +343,7 @@
<h3>Messages from your upline</h3> <h3>Messages from your upline</h3>
<div id="upList"></div> <div id="upList"></div>
</div> </div>
<div class="card ad-foot" id="adSlotPane-line" hidden></div>
</div> </div>
<div class="pane" id="pane-buy" hidden> <div class="pane" id="pane-buy" hidden>
@@ -381,6 +383,7 @@
</p> </p>
<div id="qcOut" class="small"></div> <div id="qcOut" class="small"></div>
</div> </div>
<div class="card ad-foot" id="adSlotPane-buy" hidden></div>
</div> </div>
<div class="pane" id="pane-campaigns" hidden> <div class="pane" id="pane-campaigns" hidden>
@@ -491,6 +494,7 @@
</div> </div>
<button class="btn" id="createCampBtn">Launch campaign</button> <button class="btn" id="createCampBtn">Launch campaign</button>
</div> </div>
<div class="card ad-foot" id="adSlotPane-campaigns" hidden></div>
</div> </div>
<div class="pane" id="pane-earn" hidden> <div class="pane" id="pane-earn" hidden>
@@ -583,6 +587,7 @@
<p class="small muted" id="ibHint"></p> <p class="small muted" id="ibHint"></p>
</div> </div>
</div> </div>
<div class="card ad-foot" id="adSlotPane-earn" hidden></div>
</div> </div>
<div class="pane" id="pane-earnings" hidden> <div class="pane" id="pane-earnings" hidden>
@@ -610,6 +615,7 @@
your line shows here with a verify link to the blockchain. Nothing to claim, nothing to request: your line shows here with a verify link to the blockchain. Nothing to claim, nothing to request:
the money is already in your wallet when the line appears.</p> the money is already in your wallet when the line appears.</p>
</div> </div>
<div class="card ad-foot" id="adSlotPane-earnings" hidden></div>
</div> </div>
<div class="pane" id="pane-promo" hidden> <div class="pane" id="pane-promo" hidden>
@@ -681,6 +687,7 @@
page continuing the same hook. In production now. When they arrive, this tab holds the previews, page continuing the same hook. In production now. When they arrive, this tab holds the previews,
your matched links, and paste-ready captions.</p> your matched links, and paste-ready captions.</p>
</div> </div>
<div class="card ad-foot" id="adSlotPane-promo" hidden></div>
</div> </div>
<div class="pane" id="pane-profile" hidden> <div class="pane" id="pane-profile" hidden>
@@ -773,6 +780,7 @@
<h3>Account details</h3> <h3>Account details</h3>
<p class="muted small" id="pfDetails">…</p> <p class="muted small" id="pfDetails">…</p>
</div> </div>
<div class="card ad-foot" id="adSlotPane-profile" hidden></div>
</div> </div>
<div class="pane" id="pane-training" hidden> <div class="pane" id="pane-training" hidden>
@@ -783,6 +791,7 @@
</div> </div>
<div class="chips" id="trainingPills" aria-label="Training sections" hidden></div> <div class="chips" id="trainingPills" aria-label="Training sections" hidden></div>
<div id="trainingList"></div> <div id="trainingList"></div>
<div class="card ad-foot" id="adSlotPane-training" hidden></div>
</div> </div>
<div class="pane" id="pane-wallet" hidden> <div class="pane" id="pane-wallet" hidden>
@@ -827,6 +836,7 @@
and it unlocks the full flow. Buying any package does this automatically.</p> and it unlocks the full flow. Buying any package does this automatically.</p>
<button class="btn sec" id="activateBtn">Activate payouts</button> <button class="btn sec" id="activateBtn">Activate payouts</button>
</div> </div>
<div class="card ad-foot" id="adSlotPane-wallet" hidden></div>
</div> </div>
</main> </main>
@@ -857,10 +867,10 @@
</div> </div>
</div> </div>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/wallet.js?v=20260910a"></script> <script src="/assets/wallet.js?v=20260910a"></script>
<script src="/assets/promo.js?v=20260909b"></script> <script src="/assets/promo.js?v=20260909b"></script>
<script src="/assets/my.js?v=20260910i"></script> <script src="/assets/my.js?v=20260910j"></script>
<script src="/assets/chat.js?v=20260907l"></script> <script src="/assets/chat.js?v=20260907l"></script>
</body> </body>
</html> </html>
+4 -3
View File
@@ -8,7 +8,7 @@
<meta name="theme-color" content="#043b2f"> <meta name="theme-color" content="#043b2f">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
<style> <style>
.pl-rule{border-left:4px solid #f2c94c;background:rgba(242,201,76,.08);padding:16px 20px;border-radius:0 12px 12px 0;margin:0 0 28px} .pl-rule{border-left:4px solid #f2c94c;background:rgba(242,201,76,.08);padding:16px 20px;border-radius:0 12px 12px 0;margin:0 0 28px}
.pl-rule b{font-family:var(--disp);font-size:17px;display:block;margin-bottom:6px} .pl-rule b{font-family:var(--disp);font-size:17px;display:block;margin-bottom:6px}
@@ -163,6 +163,7 @@
<p class="muted small">No income is guaranteed. Results depend on your effort. Cryptocurrency involves risk of loss. InstantAdPay sells advertising; it is not an investment.</p> <p class="muted small">No income is guaranteed. Results depend on your effort. Cryptocurrency involves risk of loss. InstantAdPay sells advertising; it is not an investment.</p>
<p><button class="btn sec" type="button" id="printBtn">Print the Qualified Start checklist and 30-day calendar</button></p> <p><button class="btn sec" type="button" id="printBtn">Print the Qualified Start checklist and 30-day calendar</button></p>
<div class="card" id="adSlotPlays" hidden style="text-align:center"></div>
</div> </div>
<div id="printable"> <div id="printable">
@@ -191,7 +192,7 @@
<div class="small">Advertising services with a performance referral program. Not an investment product; no income guarantees. Crypto transactions are irreversible. Never spend what you cannot afford.</div> <div class="small">Advertising services with a performance referral program. Not an investment product; no income guarantees. Crypto transactions are irreversible. Never spend what you cannot afford.</div>
</footer> </footer>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/plays.js?v=20260910a"></script> <script src="/assets/plays.js?v=20260910b"></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -5,7 +5,7 @@
<title>Privacy Policy | InstantAdPay</title> <title>Privacy Policy | InstantAdPay</title>
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div id="nav"></div> <div id="nav"></div>
@@ -28,7 +28,7 @@
<p class="muted small">We use reasonable safeguards, but no system is perfectly secure. Protect your email and your wallet.</p> <p class="muted small">We use reasonable safeguards, but no system is perfectly secure. Protect your email and your wallet.</p>
</div> </div>
</div></section> </div></section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/legal.js?v=20260908a"></script> <script src="/assets/legal.js?v=20260908a"></script>
</body> </body>
</html> </html>
+1 -1
View File
@@ -5,7 +5,7 @@
<title>Shorts | InstantAdPay</title> <title>Shorts | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
<style> <style>
html,body{height:100%;margin:0;overflow:hidden;background:#000} html,body{height:100%;margin:0;overflow:hidden;background:#000}
.sh{position:fixed;inset:0;display:flex;flex-direction:column;background:#000;color:var(--ink,#e8fff7)} .sh{position:fixed;inset:0;display:flex;flex-direction:column;background:#000;color:var(--ink,#e8fff7)}
+2 -2
View File
@@ -5,7 +5,7 @@
<title>Terms of Service | InstantAdPay</title> <title>Terms of Service | InstantAdPay</title>
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div id="nav"></div> <div id="nav"></div>
@@ -36,7 +36,7 @@
<p class="muted small" style="margin-top:18px">See also the <a href="/disclaimer">Disclaimer</a> and <a href="/privacy">Privacy Policy</a>.</p> <p class="muted small" style="margin-top:18px">See also the <a href="/disclaimer">Disclaimer</a> and <a href="/privacy">Privacy Policy</a>.</p>
</div> </div>
</div></section> </div></section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/legal.js?v=20260908a"></script> <script src="/assets/legal.js?v=20260908a"></script>
</body> </body>
</html> </html>
+2 -2
View File
@@ -5,7 +5,7 @@
<title>Transaction | InstantAdPay</title> <title>Transaction | InstantAdPay</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div id="nav"></div> <div id="nav"></div>
@@ -34,7 +34,7 @@
<p><a href="/ledger">← Back to the live ledger</a> · <a href="/contract">Read the contract review</a></p> <p><a href="/ledger">← Back to the live ledger</a> · <a href="/contract">Read the contract review</a></p>
</div> </div>
</section> </section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/tx.js?v=20260906m"></script> <script src="/assets/tx.js?v=20260906m"></script>
</body> </body>
</html> </html>
+1 -1
View File
@@ -5,7 +5,7 @@
<meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="viewport" content="width=device-width,initial-scale=1">
<title>Viewing ad — InstantAdPay</title> <title>Viewing ad — InstantAdPay</title>
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
<style> <style>
html,body{height:100%;margin:0;overflow:hidden} html,body{height:100%;margin:0;overflow:hidden}
.vw{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg,#04110c);color:var(--ink,#e8fff7)} .vw{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg,#04110c);color:var(--ink,#e8fff7)}
+5 -3
View File
@@ -6,7 +6,7 @@
<!--OG--> <!--OG-->
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap"> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Sora:wght@600;700;800&display=swap">
<link rel="icon" type="image/png" href="/logo-icon.png"> <link rel="icon" type="image/png" href="/logo-icon.png">
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910g">
</head> </head>
<body> <body>
<div id="nav"></div> <div id="nav"></div>
@@ -34,6 +34,8 @@
to a real member of this line, and every payment between them settles on-chain, instantly.</p> to a real member of this line, and every payment between them settles on-chain, instantly.</p>
</div> </div>
<div class="grid c3" id="wallGrid"></div> <div class="grid c3" id="wallGrid"></div>
<div class="card" id="adSlotWallText" hidden style="margin-top:16px"></div>
<div class="card" id="adSlotWallBanner" hidden></div>
<div class="card" style="margin-top:22px;text-align:center"> <div class="card" style="margin-top:22px;text-align:center">
<h3 id="wallCtaHead">Join this line</h3> <h3 id="wallCtaHead">Join this line</h3>
<p class="muted small">Free to join with just an email. Your wallet only comes out if you buy — <p class="muted small">Free to join with just an email. Your wallet only comes out if you buy —
@@ -44,7 +46,7 @@
</div> </div>
</div> </div>
</section> </section>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910c"></script>
<script src="/assets/wall.js?v=20260910a"></script> <script src="/assets/wall.js?v=20260910b"></script>
</body> </body>
</html> </html>