// The Circle Suite — P0 tool wall. Wallet sign-in (same challenge/verify flow // as the training gate) -> live level from the contract -> tiles light up. // Every tile is always VISIBLE: unlocked at-or-below the member's level, // dimmed above it. Future tools carry an honest "in development" tag. (function () { 'use strict'; var LEVELS = ['Scintilla', 'Ascensus', 'Fabrica', 'Culmen', 'Apex', 'Fastigium', 'Vertex', 'Corona']; var TOOLS = [ { lv: 1, ico: '🎬', name: 'Promo Center', desc: 'Videos, posts, swipes, emails and the banner kit — every piece pre-personalized with your link.', href: '/tools', live: true }, { lv: 1, ico: '🖨️', name: 'Printable Handouts', desc: 'Five full-color designs that print two per page — with YOUR QR code on the paper.', href: '/flyers', live: true }, { lv: 1, ico: '✅', name: 'Fast Start + Weekly Rhythm', desc: 'The 48-hour launch checklist and the 20-minute weekly routine, personalized and printable.', href: '/fast-start', live: true }, { lv: 1, ico: '📊', name: 'Generation Pay Chart', desc: 'Your personal when-does-each-generation-pay-me chart, read live from the contract.', href: '/generation-pay', live: true }, { lv: 1, ico: '🎓', name: 'The Circle Method', desc: 'The 10-lesson recruiting and coaching course. Lessons unlock with this same wallet.', href: '/training', live: true }, { lv: 1, ico: '📈', name: 'Live Dashboard', desc: 'Your pipeline, organization bar, coach panel and wallet-verified team messages.', href: '/my', live: true }, { lv: 1, ico: '🤖', name: 'AI Coach', desc: '24/7 answers about the system, in 21+ languages — the chat bubble on every page of this site.', href: '#', live: true, coach: true }, { lv: 2, ico: '✍️', name: 'Copy Engine', desc: 'An AI copywriter tuned to this business: posts, DMs, follow-ups and objection replies with your link filled in.', live: false }, { lv: 2, ico: '🧱', name: 'Page Builder', desc: 'Answer five questions, get your own hosted bridge page — your story, your angle video, your QR.', live: false }, { lv: 3, ico: '📧', name: 'Email Engine', desc: 'Follow-up sequences and broadcasts in the team voice, exportable to any autoresponder.', live: false }, { lv: 3, ico: '🎥', name: 'Video Maker', desc: 'The team’s master promo videos rendered with your personal end-card — your name, your QR, your link.', live: false }, { lv: 4, ico: '🗣️', name: 'Voice Profile + Funnels', desc: 'Output that sounds like YOU, plus multi-page funnels on your own team subdomain.', live: false }, { lv: 5, ico: '🚦', name: 'Traffic Desk', desc: 'Monthly ad credits on the team’s networks, co-op rotator priority, and AI campaign packs.', live: false }, { lv: 6, ico: '🏭', name: 'Funnel Factory', desc: 'Complete hosted funnels with A/B variants, webinar rooms, and a lead CRM.', live: false }, { lv: 7, ico: '🧭', name: 'Leader Ops', desc: 'Team radar, AI coaching digests for your legs, and cohort training rooms.', live: false }, { lv: 8, ico: '👑', name: 'Founder Desk', desc: 'Your own AI operator running your promotion, API access, and the inner circle.', live: false } ]; var $ = function (id) { return document.getElementById(id); }; var me = null; // {id, level, levelName, tierName, directCount, inOrg} function pips() { var host = $('suPips'); host.querySelectorAll('.su-pip').forEach(function (p) { p.remove(); }); for (var k = 1; k <= 8; k++) { var p = document.createElement('span'); p.className = 'su-pip' + (me && me.inOrg && me.level >= k ? (k === 8 ? ' gold' : ' on') : ''); p.title = 'Level ' + k + ' · ' + LEVELS[k - 1]; host.appendChild(p); } } function render() { var grid = $('suGrid'); grid.innerHTML = ''; var lastLv = 0; TOOLS.forEach(function (t) { if (t.lv !== lastLv) { lastLv = t.lv; var h = document.createElement('div'); h.className = 'su-lvhead'; h.innerHTML = 'L' + t.lv + '' + LEVELS[t.lv - 1] + ''; grid.appendChild(h); } var open = !!(me && me.inOrg && me.level >= t.lv); var d = document.createElement('div'); d.className = 'su-tile ' + (me ? (open ? 'open' : 'locked') : 'locked'); var badge = me ? (open ? '✓ YOURS' : 'UNLOCKS AT ' + LEVELS[t.lv - 1].toUpperCase()) : 'LEVEL ' + t.lv; d.innerHTML = '' + badge + '' + t.ico + '
' + t.desc + '
' + (t.live ? (open || !me ? 'Open →' : '') : 'IN DEVELOPMENT — ships with the Suite build-out'); grid.appendChild(d); }); var coach = grid.querySelector('[data-coach]'); if (coach) coach.addEventListener('click', function (ev) { ev.preventDefault(); var f = document.querySelector('.chat-fab'); if (f) f.click(); }); } async function refreshMe() { try { var r = await fetch('/api/public/suite-me'); if (!r.ok) return false; me = await r.json(); $('suMe').style.display = 'block'; $('suMe').innerHTML = me.inOrg ? '#' + me.id + ' · ' + me.tierName + ' · Level ' + me.level + ' (' + me.levelName + ')' + (me.directCount >= 2 ? ' · ✓ qualified' : ' · ' + me.directCount + '/2 directs') + '