Add the printable 48-Hour Fast Start sheet

/fast-start: one-page checklist that personalizes with the member's
ID, invite link, and a scannable QR of /join/<id> when opened from
their dashboard (or with ?id=). Print stylesheet flips it to clean
black-on-white letter format; floating translate/chat widgets are
now excluded from printing on every page. Dashboard share card
links to it; chatbot + AI prompt synced.
This commit is contained in:
martbost
2026-08-21 12:08:05 -05:00
parent 75863ad581
commit d936093c56
7 changed files with 135 additions and 4 deletions
+2
View File
@@ -34,6 +34,8 @@
a:()=>`Great question — and we checked it on-chain, not just in theory. The contract needs <strong>no one</strong> to keep it running: joins, upgrades, placement and every payout are fully automatic — no button anyone has to press, no expiry. If the creators walked away, lost their keys, or vanished, member payments keep flowing exactly as coded. We also verified that the founder, development and fee wallets are <strong>ordinary wallets, not programs</strong> — an ordinary wallet always accepts an incoming payment even if its key is lost forever, so a dead admin wallet can't jam a single member payment (at worst the project's <em>own</em> fee sits there uncollected). And the contract holds no stored balance — every payment is delivered in the same transaction. Full write-up in section 6 of <a href="/contract">rmcircle.team/contract</a>.`},
{k:['pyramid','ponzi','pyramid scheme','ponzi scheme','mlm','recruiting scheme','is this a scheme'],
a:()=>`A pyramid or Ponzi scheme funnels everyone's money to a central company and pays earlier joiners out of later joiners' deposits — and you can't verify any of it. This is the opposite: <strong>no company holds the money</strong>. A public smart contract on Polygon sends each payment person-to-person in the same transaction it arrives, and you can read the code and every payout yourself on-chain — nothing pooled, nothing hidden, rules that can't be changed. It <em>is</em> a team build, so it takes real effort and carries real crypto risk — not a passive investment. But you don't have to trust anyone; verify it at <a href="/contract">rmcircle.team/contract</a>. No income is guaranteed.`},
{k:['fast start','checklist','printable','print','48 hour','48-hour','getting started sheet'],
a:()=>`Grab the <a href="/fast-start">48-Hour Fast Start sheet</a> — a printable one-page checklist for your first two days. Open it from YOUR dashboard and it comes pre-filled with your invite link and a scannable QR code, then hit the print button (it prints clean black-on-white, in whatever language you've picked with the 🌐 button).`},
{k:['translate','translation','language','español','espanol','spanish','french','portuguese','not in english','other language'],
a:()=>`Tap the 🌐 Translate button in the bottom-left corner of any page — pick your language once and every page stays translated while you browse. Your phone's browser also usually offers its own "Translate page" option. And you can type to me here in ANY language — I'll answer in yours.`},
{k:['how many people','team size','organization size','org size','how big is my team','total team','people in my team','members below'],
+102
View File
@@ -0,0 +1,102 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="robots" content="noindex"><meta name="description" content="Your RM Circle 48-hour fast start — the printable checklist with your personal invite link and QR code."><title>48-Hour Fast Start | RM Circle Team Build</title><link rel="icon" type="image/png" href="/favicon.png"><link rel="stylesheet" href="/styles.css">
<style>
.fs-wrap{max-width:820px;margin:0 auto;padding:24px 20px 60px}
.fs-sheet{background:var(--card,#0d2236);border:1px solid var(--line,#24425d);border-radius:18px;padding:28px 30px}
.fs-sheet h1{font-size:30px;margin:0 0 2px}
.fs-sheet .tag{color:var(--muted,#aebdca);margin:0 0 18px;font-weight:600}
.fs-box{border:2px solid var(--gold,#f3be43);border-radius:14px;padding:16px 18px;margin:0 0 20px;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.fs-box .nums{flex:1;min-width:230px;font-size:15px;line-height:2}
.fs-box .nums b{color:var(--gold,#f3be43)}
.fs-qr{background:#fff;border-radius:12px;padding:8px;line-height:0;width:132px;height:132px;flex:0 0 auto}
.fs-qr svg{width:100%;height:100%}
.fs-sec{margin:20px 0 0}
.fs-sec h2{font-size:19px;margin:0 0 8px;border-bottom:1px solid var(--line,#24425d);padding-bottom:6px}
.fs-item{display:flex;gap:10px;align-items:flex-start;margin:7px 0;font-size:15px;line-height:1.45}
.fs-item .cb{width:16px;height:16px;border:2px solid var(--gold,#f3be43);border-radius:4px;flex:0 0 auto;margin-top:2px}
.fs-blanks{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;margin:8px 0 0 26px;font-size:14px;color:var(--muted,#aebdca)}
.fs-blank{border-bottom:1px solid var(--line,#24425d);padding:6px 2px 2px}
.fs-foot{margin-top:22px;padding-top:12px;border-top:1px solid var(--line,#24425d);font-size:13px;color:var(--muted,#aebdca);line-height:1.6}
.fs-foot b{color:var(--text,#f7f9fc)}
.fs-print-btn{margin:18px 0 0}
@media print{
@page{size:letter;margin:0.55in}
body{background:#fff!important;color:#111!important}
header,footer,nav,#fsPrintBtn,#rmcTrBtn,#rmcTrPanel,.chat-fab,.chat-panel{display:none!important}
.fs-wrap{max-width:none;padding:0}
.fs-sheet{background:#fff;border:0;border-radius:0;padding:0;color:#111}
.fs-sheet h1,.fs-sec h2{color:#111}
.fs-sheet .tag,.fs-blanks,.fs-foot{color:#444}
.fs-box{border-color:#111}
.fs-box .nums b{color:#111}
.fs-item .cb{border-color:#111}
.fs-sec h2,.fs-blank,.fs-foot{border-color:#bbb}
.gold{color:#111!important}
.fs-item{page-break-inside:avoid}
}
</style></head>
<body>
<div class="fs-wrap">
<div class="fs-sheet">
<h1>⚡ RM Circle 48-Hour Fast Start</h1>
<p class="tag">Print this. Stick it on the fridge. Check the boxes.</p>
<div class="fs-box">
<div class="nums">
<div>My position ID: <b id="fsId">#______</b></div>
<div>My invite link: <b id="fsLink">rmcircle.team/join/______</b></div>
<div>Team Telegram: <b>t.me/cryptoteambuild</b></div>
<div id="fsQrHint">Scan the code → my personal page</div>
</div>
<div class="fs-qr" id="fsQr"></div>
</div>
<div class="fs-sec"><h2>☐ Hour One — Lock it in</h2>
<div class="fs-item"><span class="cb"></span><span>Open your dashboard (rmcircle.team/my) and bookmark it on your phone</span></div>
<div class="fs-item"><span class="cb"></span><span>Find your invite link on the dashboard — send it to yourself so it's always one copy-paste away</span></div>
<div class="fs-item"><span class="cb"></span><span>Sign in to Messages on your dashboard (free wallet signature) and say hello to your sponsor</span></div>
<div class="fs-item"><span class="cb"></span><span>Join the team Telegram — say hi, that's it</span></div>
</div>
<div class="fs-sec"><h2>☐ Day One — Learn the machine (about 30 minutes)</h2>
<div class="fs-item"><span class="cb"></span><span>Watch the Team Overview video (Training page, Video 1)</span></div>
<div class="fs-item"><span class="cb"></span><span>Watch How Payments Work — so you can say "every payment is public" and mean it</span></div>
<div class="fs-item"><span class="cb"></span><span>Open your Pipeline panel and look at it — this is your scoreboard from now on</span></div>
<div class="fs-item"><span class="cb"></span><span>Open the Promo Tools page FROM your dashboard — everything arrives pre-loaded with YOUR link</span></div>
</div>
<div class="fs-sec"><h2>☐ Day One — First shares (before you feel ready)</h2>
<div class="fs-item"><span class="cb"></span><span>Write your list of 10 curious people (curious — not desperate, not "needs convincing")</span></div>
<div class="fs-blanks">
<span class="fs-blank">1.</span><span class="fs-blank">2.</span>
<span class="fs-blank">3.</span><span class="fs-blank">4.</span>
<span class="fs-blank">5.</span><span class="fs-blank">6.</span>
<span class="fs-blank">7.</span><span class="fs-blank">8.</span>
<span class="fs-blank">9.</span><span class="fs-blank">10.</span>
</div>
<div class="fs-item" style="margin-top:10px"><span class="cb"></span><span>Send the "$27" video (or the one that hooked YOU) to your first 3 people — one at a time, never a group blast</span></div>
<div class="fs-item"><span class="cb"></span><span>Use the ready-made message from Promo Tools — tweak one word so it sounds like you</span></div>
<div class="fs-item"><span class="cb"></span><span>Then stop typing. Send the link and let it work.</span></div>
</div>
<div class="fs-sec"><h2>☐ Day Two — Follow up + set the rhythm</h2>
<div class="fs-item"><span class="cb"></span><span>Follow up with your 3: "Did you get a chance to watch it? What did you think?" (opinion, not pressure)</span></div>
<div class="fs-item"><span class="cb"></span><span>Send to 3 more people from your list</span></div>
<div class="fs-item"><span class="cb"></span><span>Show someone the QR code on this sheet — let one person scan it just to see it work</span></div>
<div class="fs-item"><span class="cb"></span><span>Put 20 minutes in your calendar, same time every week: check pipeline → message one mover → share one video</span></div>
<div class="fs-item"><span class="cb"></span><span>Message your sponsor: "First 48 done. Who can I help?"</span></div>
</div>
<div class="fs-foot">
<b>The only goal that matters this week: two curious people looking at a short video.</b><br>
Get your 2. Help your 2 get theirs. The team helps them do the same.<br>
Real effort, real crypto, no guarantees — never use money you can't afford to lose.<br>
Questions any hour of the day: the chat bubble on rmcircle.team speaks your language.
</div>
</div>
<div class="fs-print-btn"><button id="fsPrintBtn" class="btn btn-gold" style="font-size:16px;padding:12px 22px">🖨️ Print my Fast Start sheet</button>
<a href="/my" class="btn btn-secondary" style="margin-left:8px">← Back to my dashboard</a></div>
</div>
<script src="/qrlib.js"></script>
<script src="/fast-start.js"></script>
<script src="/chat.js" defer></script>
<script src="/translate.js" defer></script></body></html>
+25
View File
@@ -0,0 +1,25 @@
// Personalize the printable Fast Start sheet: member ID from ?id= or the
// dashboard's saved ID, invite link + high-res QR of /join/<id> (the moving
// link — scans route to the member's page and self-rotate like the share card).
(function(){
function getId(){
var q=new URLSearchParams(location.search).get('id');
if(q&&/^\d+$/.test(q))return q;
try{var s=localStorage.getItem('ctb.myId');if(s&&/^\d+$/.test(s))return s;}catch(e){}
return '';
}
var id=getId();
if(!id)return; // blank sheet still prints fine with fill-in-by-hand blanks
var link='rmcircle.team/join/'+id;
var el=document.getElementById('fsId'); if(el)el.textContent='#'+id;
el=document.getElementById('fsLink'); if(el)el.textContent=link;
var qr=document.getElementById('fsQr');
if(qr&&typeof qrcode==='function'){
try{
var q=qrcode(0,'M');q.addData('https://'+link);q.make();
qr.innerHTML=q.createSvgTag({cellSize:4,margin:2,scalable:true});
}catch(e){}
}
var btn=document.getElementById('fsPrintBtn');
if(btn)btn.addEventListener('click',function(){window.print();});
})();
+1 -1
View File
@@ -22,7 +22,7 @@
<div id="dCoachCard" class="table-card" style="margin-bottom:18px;display:none;border-color:rgba(240,197,109,.35)"><h2 style="margin:0 0 4px">Coach your team</h2><p style="color:var(--muted);font-size:13px;margin:0 0 12px">The fastest way to grow your own income is helping the people below you take their next step. Here's who in <em>your</em> team could use a nudge today — updated live from the blockchain.</p><div id="dCoach"></div></div>
<div class="table-card" style="margin-bottom:18px;border-color:rgba(120,160,255,.35)"><h2 style="margin:0 0 4px">Messages <span id="msgBell" class="hidden" style="font-size:14px;background:var(--gold);color:#132;border-radius:20px;padding:2px 10px;vertical-align:middle;font-weight:800">🔔 0</span></h2><p style="color:var(--muted);font-size:13px;margin:0 0 12px">Wallet-verified messaging along your matrix lines — your upline and your team can reach you here, and you can reach them. No email needed; your wallet is your identity. <span class="micro">Messages are member-to-member; the team admin can review them for abuse.</span></p><div id="dMsg"><div class="empty">Loading…</div></div></div>
<div class="table-card" style="margin-bottom:18px;border-color:rgba(78,214,203,.35)"><h2 style="margin:0 0 4px">Email me my alerts</h2><p style="color:var(--muted);font-size:13px;margin:0 0 12px">Get an email the moment this position is <strong>paid</strong>, and when it <strong>needs an upgrade</strong> to catch incoming pay — so you never miss one. Opt in with your email; unsubscribe anytime.</p><div id="dAlerts"></div></div>
<div class="table-card" style="margin-bottom:18px;border-color:rgba(240,197,109,.45)"><h2 style="margin:0 0 4px">Share this position</h2><div id="dShare"></div><a class="btn btn-primary" href="/tools" style="display:block;text-align:center;margin-top:14px;padding:14px 18px;font-size:16px;font-weight:800">🎬 Get Your Promo Tools — posts, swipes, videos &amp; banners →</a><p class="micro" style="text-align:center;margin:8px 0 0">Ready-made content to share with your invite link — no writing needed.</p></div>
<div class="table-card" style="margin-bottom:18px;border-color:rgba(240,197,109,.45)"><h2 style="margin:0 0 4px">Share this position</h2><div id="dShare"></div><a class="btn btn-primary" href="/tools" style="display:block;text-align:center;margin-top:14px;padding:14px 18px;font-size:16px;font-weight:800">🎬 Get Your Promo Tools — posts, swipes, videos &amp; banners →</a><a class="btn btn-secondary" href="/fast-start" style="display:block;text-align:center;margin-top:8px">🖨️ Print your 48-Hour Fast Start sheet</a><p class="micro" style="text-align:center;margin:8px 0 0">Ready-made content to share with your invite link — no writing needed.</p></div>
<div class="table-card" style="margin-bottom:18px;border-color:var(--gold)"><h2 style="margin:0 0 4px">Just joined under this position?</h2><p style="color:var(--muted);font-size:13px;margin:0 0 12px">Welcome to the team! Enter the <strong>new member ID</strong> the RM Circle dApp gave you — we'll verify it on the blockchain and let the team know you're in.</p><form id="dJoinForm" style="display:grid;gap:8px;max-width:480px"><input name="newId" class="input" inputmode="numeric" pattern="[0-9]{1,10}" maxlength="10" placeholder="Your NEW RM Circle ID (numbers only)" required><input name="memberName" class="input" maxlength="60" placeholder="Your name or Telegram @handle" required><button class="btn btn-primary">Submit My ID →</button></form><div id="dJoinMsg" style="margin-top:10px;font-size:14px"></div></div>
<div class="table-card" style="margin-bottom:18px"><h2 style="margin:0 0 4px">Payments received</h2><p style="color:var(--muted);font-size:13px;margin:0 0 10px">Every payment your position has received, straight from the smart contract.</p><div id="dIncome"></div></div>
<div class="table-card"><h2 style="margin:0 0 4px">Your lineage</h2><p id="dLineage" style="color:var(--muted);font-size:14px;line-height:1.8;margin:8px 0 0"></p></div>
+1
View File
@@ -114,6 +114,7 @@
document.getElementById('dTitle').textContent='#'+d.id;
// hand the member's id to the tools page so every promo asset arrives pre-personalized
document.querySelectorAll('a[href="/tools"]').forEach(function(a){a.href='/tools?id='+d.id;});
document.querySelectorAll('a[href="/fast-start"]').forEach(function(a){a.href='/fast-start?id='+d.id;});
const qb=document.getElementById('dQualified');
if(qb)qb.outerHTML=d.directCount>=2
?'<span id="dQualified" class="q-badge q-yes">★ Qualified</span>'
+2 -1
View File
@@ -19,7 +19,8 @@
'#rmcTrPanel button{display:block;width:100%;text-align:left;background:none;border:none;color:#f7f9fc;'+
'padding:8px 10px;border-radius:8px;font:600 14px/1 Inter,system-ui,sans-serif;cursor:pointer}'+
'#rmcTrPanel button:hover{background:#123049}'+
'#rmcTrPanel button.on{background:#123049;color:#4ed6cb}';
'#rmcTrPanel button.on{background:#123049;color:#4ed6cb}'+
'@media print{#rmcTrBtn,#rmcTrPanel,.chat-fab,.chat-panel{display:none!important}}';
var lang=null;
try{ lang=localStorage.getItem('rmc.lang')||null; }catch(e){}
var cacheKey=function(){ return 'rmc.tr.'+lang; };