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:
+2
-2
@@ -6,7 +6,7 @@
|
||||
<title>Admin | InstantAdPay</title>
|
||||
<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="stylesheet" href="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
<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{color:var(--muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.08em}
|
||||
@@ -305,7 +305,7 @@
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -129,6 +129,7 @@ window.IAP = (function () {
|
||||
const { ad } = await (await fetch(q)).json();
|
||||
const el = $(elId);
|
||||
if (!ad || !el) return;
|
||||
el.hidden = false;
|
||||
if (ad.imageUrl) {
|
||||
el.style.textAlign = 'center';
|
||||
el.innerHTML = '<a href="' + ad.targetUrl + '" target="_blank" rel="noopener nofollow">'
|
||||
|
||||
+7
-4
@@ -462,6 +462,9 @@
|
||||
document.querySelectorAll('.bo-menu [data-pane]').forEach(b =>
|
||||
b.classList.toggle('on', b.dataset.pane === 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 === 'profile') loadLineBanner();
|
||||
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; }
|
||||
const tbl = document.createElement('div');
|
||||
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>'
|
||||
+ 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 class="num">' + c.imps.toLocaleString()
|
||||
+ (c.impsNas ? ' <span class="muted small" title="views across the network">+' + c.impsNas.toLocaleString() + ' network</span>' : '')
|
||||
+ '</td><td class="num">' + c.clicks + '</td>'
|
||||
+ '<td class="num">' + c.imps.toLocaleString() + '</td>'
|
||||
+ '<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 class="num">' + c.clicks + '</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 === 'active' ? '<button class="btn small sec" data-camp="' + c.id + '" data-act="pause">Pause</button>'
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
document.getElementById('gate').style.display = signedIn ? 'none' : 'block';
|
||||
document.getElementById('body').style.display = signedIn ? 'block' : 'none';
|
||||
if (!signedIn) return;
|
||||
try { IAP.adSlot('banner', 'adSlotPlays'); } catch (e) {}
|
||||
const pb = document.getElementById('printBtn'); if (pb) pb.addEventListener('click', () => window.print());
|
||||
const tok = me.username || me.refCode || me.memberId;
|
||||
if (tok) document.querySelectorAll('[data-link]').forEach(el => { el.textContent = location.origin + '/join/' + tok; });
|
||||
|
||||
@@ -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 .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)}}
|
||||
.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 .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}
|
||||
|
||||
@@ -48,6 +48,7 @@
|
||||
try { viewed = JSON.parse(localStorage.getItem(VKEY) || '{}'); } catch (e) {}
|
||||
const DWELL = 10;
|
||||
const grid = IAP.$('wallGrid');
|
||||
IAP.adSlot('text', 'adSlotWallText'); IAP.adSlot('banner', 'adSlotWallBanner');
|
||||
grid.innerHTML = '';
|
||||
// join is gated: you must view every ad on the wall before you can join
|
||||
const joinBtn = IAP.$('wallJoin'), gate = IAP.$('wallGate');
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<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="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>
|
||||
<body>
|
||||
<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>
|
||||
</footer>
|
||||
</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/chat.js?v=20260906m"></script>
|
||||
</body>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<title>Disclaimer | InstantAdPay</title>
|
||||
<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="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</div>
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2
-2
@@ -20,7 +20,7 @@
|
||||
<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="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>
|
||||
<body>
|
||||
|
||||
@@ -461,7 +461,7 @@
|
||||
</div>
|
||||
</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/home.js?v=20260906m"></script>
|
||||
<script src="/assets/chat.js?v=20260906m"></script>
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
<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="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>
|
||||
.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}
|
||||
@@ -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>
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@
|
||||
<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="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>
|
||||
<body>
|
||||
<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>
|
||||
</footer>
|
||||
</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/chat.js?v=20260906m"></script>
|
||||
</body>
|
||||
|
||||
+13
-3
@@ -5,7 +5,7 @@
|
||||
<title>Member area | InstantAdPay</title>
|
||||
<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="stylesheet" href="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body class="bo-body">
|
||||
|
||||
@@ -160,6 +160,7 @@
|
||||
<button id="boBurger" aria-label="Menu" type="button">☰</button>
|
||||
<h2 id="boTitle" style="margin:0">Overview</h2>
|
||||
<span class="bo-rehearsal small" id="boRehearsal" hidden></span>
|
||||
<div class="ad-strip" id="adStripTop" hidden></div>
|
||||
</header>
|
||||
<main class="bo-content">
|
||||
|
||||
@@ -342,6 +343,7 @@
|
||||
<h3>Messages from your upline</h3>
|
||||
<div id="upList"></div>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-line" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-buy" hidden>
|
||||
@@ -381,6 +383,7 @@
|
||||
</p>
|
||||
<div id="qcOut" class="small"></div>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-buy" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-campaigns" hidden>
|
||||
@@ -491,6 +494,7 @@
|
||||
</div>
|
||||
<button class="btn" id="createCampBtn">Launch campaign</button>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-campaigns" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-earn" hidden>
|
||||
@@ -583,6 +587,7 @@
|
||||
<p class="small muted" id="ibHint"></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-earn" hidden></div>
|
||||
</div>
|
||||
|
||||
<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:
|
||||
the money is already in your wallet when the line appears.</p>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-earnings" hidden></div>
|
||||
</div>
|
||||
|
||||
<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,
|
||||
your matched links, and paste-ready captions.</p>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-promo" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-profile" hidden>
|
||||
@@ -773,6 +780,7 @@
|
||||
<h3>Account details</h3>
|
||||
<p class="muted small" id="pfDetails">…</p>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-profile" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-training" hidden>
|
||||
@@ -783,6 +791,7 @@
|
||||
</div>
|
||||
<div class="chips" id="trainingPills" aria-label="Training sections" hidden></div>
|
||||
<div id="trainingList"></div>
|
||||
<div class="card ad-foot" id="adSlotPane-training" hidden></div>
|
||||
</div>
|
||||
|
||||
<div class="pane" id="pane-wallet" hidden>
|
||||
@@ -827,6 +836,7 @@
|
||||
and it unlocks the full flow. Buying any package does this automatically.</p>
|
||||
<button class="btn sec" id="activateBtn">Activate payouts</button>
|
||||
</div>
|
||||
<div class="card ad-foot" id="adSlotPane-wallet" hidden></div>
|
||||
</div>
|
||||
|
||||
</main>
|
||||
@@ -857,10 +867,10 @@
|
||||
</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/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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+4
-3
@@ -8,7 +8,7 @@
|
||||
<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="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>
|
||||
.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}
|
||||
@@ -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><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 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>
|
||||
</footer>
|
||||
</div>
|
||||
<script src="/assets/common.js?v=20260910b"></script>
|
||||
<script src="/assets/plays.js?v=20260910a"></script>
|
||||
<script src="/assets/common.js?v=20260910c"></script>
|
||||
<script src="/assets/plays.js?v=20260910b"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
<title>Privacy Policy | InstantAdPay</title>
|
||||
<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="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</div>
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<title>Shorts | InstantAdPay</title>
|
||||
<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="stylesheet" href="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
<style>
|
||||
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)}
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
<title>Terms of Service | InstantAdPay</title>
|
||||
<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="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</div>
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
<title>Transaction | InstantAdPay</title>
|
||||
<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="stylesheet" href="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</div>
|
||||
</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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>Viewing ad — InstantAdPay</title>
|
||||
<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>
|
||||
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)}
|
||||
|
||||
+5
-3
@@ -6,7 +6,7 @@
|
||||
<!--OG-->
|
||||
<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="stylesheet" href="/assets/site.css?v=20260910f">
|
||||
<link rel="stylesheet" href="/assets/site.css?v=20260910g">
|
||||
</head>
|
||||
<body>
|
||||
<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>
|
||||
</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">
|
||||
<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 —
|
||||
@@ -44,7 +46,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<script src="/assets/common.js?v=20260910b"></script>
|
||||
<script src="/assets/wall.js?v=20260910a"></script>
|
||||
<script src="/assets/common.js?v=20260910c"></script>
|
||||
<script src="/assets/wall.js?v=20260910b"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user