Join page: compact hero with InstantAdPay brand headline; opt-in and ledger example above the fold; chips and POL note below

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-10 08:23:59 -05:00
parent 55b010d8c2
commit 7ae31f4b18
2 changed files with 21 additions and 14 deletions
+1 -1
View File
@@ -13,7 +13,7 @@
}; };
const v = new URLSearchParams(location.search).get('v'); const v = new URLSearchParams(location.search).get('v');
const a = v && ANGLES[v]; const a = v && ANGLES[v];
if (a) { $('jnEyebrow').textContent = a.eyebrow; $('jnHead').innerHTML = a.h; $('jnLead').textContent = a.lead; } if (a) { $('jnEyebrow').textContent = '· ' + a.eyebrow; $('jnHead').innerHTML = a.h; $('jnLead').textContent = a.lead; }
async function api(path, body) { async function api(path, body) {
const r = await (await fetch(path, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body || {}) })).json(); const r = await (await fetch(path, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(body || {}) })).json();
+20 -13
View File
@@ -9,11 +9,16 @@
<link rel="stylesheet" href="/assets/site.css?v=20260910f"> <link rel="stylesheet" href="/assets/site.css?v=20260910f">
<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:34px 0 10px;text-align:left} .jn-hero{padding:14px 0 4px;text-align:left}
.jn-hero h1{font-size:clamp(32px,5vw,54px);line-height:1.08;margin:10px 0 14px;max-width:760px;text-align:left;letter-spacing:-.015em} .jn-brand{font-family:var(--disp);font-weight:800;font-size:20px;margin:0 0 4px;color:var(--ink)}
.jn-brand em{font-style:normal;color:var(--mint)}
.jn-brand span{font-weight:500;font-size:14px;color:var(--muted)}
.jn-strip{margin-top:22px}
.jn-strip .jn-chips{margin:0}
.jn-hero h1{font-size:clamp(26px,3.6vw,40px);line-height:1.08;margin:4px 0 8px;max-width:760px;text-align:left;letter-spacing:-.015em}
.jn-hero h1 em{font-style:normal;color:var(--mint)} .jn-hero h1 em{font-style:normal;color:var(--mint)}
.jn-hero p.lead{margin:0 0 20px;text-align:left;max-width:640px} .jn-hero p.lead{margin:0 0 12px;text-align:left;max-width:620px;font-size:15.5px}
.jn-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;align-items:start;margin-top:8px} .jn-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:start;margin-top:4px}
@media(max-width:860px){.jn-grid{grid-template-columns:1fr}} @media(max-width:860px){.jn-grid{grid-template-columns:1fr}}
.jn-cap{border-color:var(--mint);box-shadow:0 0 60px rgba(67,232,195,.12);position:sticky;top:18px} .jn-cap{border-color:var(--mint);box-shadow:0 0 60px rgba(67,232,195,.12);position:sticky;top:18px}
@media(max-width:860px){.jn-cap{position:static}} @media(max-width:860px){.jn-cap{position:static}}
@@ -56,16 +61,9 @@
<section class="jn-hero"> <section class="jn-hero">
<div class="jn-spon" id="jnSpon" hidden><img id="jnSponImg" alt="" hidden><span class="small muted">Personal invitation from <b id="jnSponName" style="color:var(--mint)"></b></span></div> <div class="jn-spon" id="jnSpon" hidden><img id="jnSponImg" alt="" hidden><span class="small muted">Personal invitation from <b id="jnSponName" style="color:var(--mint)"></b></span></div>
<p class="eyebrow" id="jnEyebrow">Advertise and earn on Polygon</p> <p class="jn-brand">Instant<em>AdPay</em> <span id="jnEyebrow">· Advertise and earn on Polygon</span></p>
<h1 id="jnHead">Advertise and earn.<br><em>Paid on-chain, instantly.</em></h1> <h1 id="jnHead">Advertise and earn.<br><em>Paid on-chain, instantly.</em></h1>
<p class="lead" id="jnLead">Every ad package splits to real wallets in the same transaction it sells. No pending payouts, no withdraw button, and every payment is public.</p> <p class="lead" id="jnLead">Every ad package splits to real wallets in the same transaction it sells. No pending payouts, no withdraw button, and every payment is public.</p>
<p class="small muted" style="margin:-8px 0 16px">The one crypto here is <b style="color:var(--ink)">POL on the Polygon network</b>: you pay for packages in POL and every payout arrives as POL in your own wallet. Any Polygon wallet works (MetaMask, SafePal, Phantom, Coinbase Wallet). Never held crypto? You can buy POL with a card inside the member area.</p>
<div class="jn-chips">
<span><b>Paid in POL</b>, Polygon's own coin, to your wallet</span>
<span><b>Same transaction</b> payouts</span>
<span><b>Public ledger</b> on Polygon</span>
<span><b>Free</b> to join by email</span>
</div>
</section> </section>
<div class="jn-grid"> <div class="jn-grid">
@@ -102,6 +100,15 @@
</div> </div>
</div> </div>
<div class="jn-strip">
<div class="jn-chips">
<span><b>Paid in POL</b>, Polygon's own coin, to your wallet</span>
<span><b>Same transaction</b> payouts</span>
<span><b>Public ledger</b> on Polygon</span>
<span><b>Free</b> to join by email</span>
</div>
<p class="small muted" style="margin:10px 0 0">The one crypto here is <b style="color:var(--ink)">POL on the Polygon network</b>: packages are paid in POL and every payout arrives as POL in your own wallet. Any Polygon wallet works (MetaMask, SafePal, Phantom, Coinbase Wallet). Never held crypto? Buy POL with a card inside the member area.</p>
</div>
<section class="jn-full"> <section class="jn-full">
<div class="jn-h"><h2>How it works</h2><p class="muted">Three steps. The first one takes a minute and costs nothing.</p></div> <div class="jn-h"><h2>How it works</h2><p class="muted">Three steps. The first one takes a minute and costs nothing.</p></div>
<div class="jn-steps"> <div class="jn-steps">
@@ -121,6 +128,6 @@
</div> </div>
</div> </div>
<script src="/assets/common.js?v=20260910b"></script> <script src="/assets/common.js?v=20260910b"></script>
<script src="/assets/join.js?v=20260909b"></script> <script src="/assets/join.js?v=20260910a"></script>
</body> </body>
</html> </html>