From d57fc402990a8a25749ae45d9bc7b7f78a11363a Mon Sep 17 00:00:00 2001 From: martbost Date: Mon, 14 Sep 2026 08:43:35 -0500 Subject: [PATCH] Toolkit: render the Spark/Circuit/Nexus sections for members below Surge too (early return skipped them); log toolkit errors Co-Authored-By: Claude Fable 5.1 --- public/assets/my.js | 4 ++-- public/my.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/public/assets/my.js b/public/assets/my.js index 4ae1607..692d3b2 100644 --- a/public/assets/my.js +++ b/public/assets/my.js @@ -1483,13 +1483,13 @@ $('tkTierLine').textContent = 'you are at ' + names[r.tier]; $('tkTiers').innerHTML = r.tiers.map(t => '
' + esc(t.name) + (t.reached ? ' ✓' : '') + '
' + (t.reached ? esc(t.blurb) : 'Unlocks when you ' + esc(t.needText)) + '
    ' + t.items.map(i => '' + esc(i.t) + '').join('') + '
' + (t.reached ? '' : '
locked
') + '
').join(''); $('tkLocked').hidden = r.unlocked; $('tkForm').hidden = !r.unlocked; - if (!r.unlocked) { $('tkLocked').textContent = 'Unlocks at Surge: your first qualifying buyer of a $20 or larger package. Then it writes posts, DMs, follow-ups, objection replies, emails and story posts in your name, with your link, inside the honesty rules. ' + (r.tier === 'free' ? 'Step one is switching on payouts.' : 'You are one buyer away.'); $('tkUsage').textContent = 'locked'; return; } + if (!r.unlocked) { $('tkLocked').textContent = 'Unlocks at Surge: your first qualifying buyer of a $20 or larger package. Then it writes posts, DMs, follow-ups, objection replies, emails and story posts in your name, with your link, inside the honesty rules. ' + (r.tier === 'free' ? 'Step one is switching on payouts.' : 'You are one buyer away.'); $('tkUsage').textContent = 'locked'; renderTkTools(r); return; } $('tkUsage').textContent = r.freeLeft + ' free this month · then ' + r.cost + ' credits each · you have ' + r.available.toLocaleString() + ' credits'; $('tkCostLine').textContent = r.freeLeft > 0 ? 'This one is free (' + r.freeLeft + ' left this month).' : 'This one costs ' + r.cost + ' credits from your earned pool.'; if (!$('tkKind').options.length) { $('tkKind').innerHTML = r.kinds.map(k => '').join(''); $('tkAngle').innerHTML = r.angles.map(a => '').join(''); } renderTkTools(r); $('tkHistory').innerHTML = r.history.length ? '

Recent

' + r.history.map(h => '
' + esc(h.kind) + ' · ' + new Date(h.ts).toLocaleString() + (h.charged ? ' · ' + h.charged + ' credits' : ' · free') + '
' + esc(h.text).replace(/\n/g, '
') + '
').join('') : ''; - } catch (e) {} + } catch (e) { console.error('toolkit', e); } } // the rest of the ladder: Spark templates + handout, Circuit Video Maker + split tester, Nexus Leader Ops const tkEsc = t => String(t == null ? '' : t).replace(/[&<>"]/g, c => ({ '&': '&', '<': '<', '>': '>', '"': '"' }[c])); diff --git a/public/my.html b/public/my.html index 773ae15..5f474ea 100644 --- a/public/my.html +++ b/public/my.html @@ -984,7 +984,7 @@ - +