Angle squeeze pages: quieter header, legal-only footer, hold proof toasts until the hook video ends

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
martbost
2026-09-01 09:26:25 -05:00
parent 7bd72e7de7
commit 71ba633ac5
2 changed files with 20 additions and 1 deletions
+13
View File
@@ -137,6 +137,17 @@
// clear the stage: hide everything, including the nav's competing buttons
Array.prototype.forEach.call(main.children,function(el){el.style.display='none';});
var nav=document.querySelector('.nav-actions'); if(nav)nav.style.display='none';
// The brand mark stays as a signature, but "Premium Team Build" is insider
// vocabulary the hook hasn't earned yet, and the homepage link is an exit
// ramp off the sponsor's /join path.
var tag=document.getElementById('brandProgram'); if(tag)tag.style.display='none';
var brand=document.querySelector('.brand'); if(brand){brand.removeAttribute('href');brand.style.cursor='default';}
// Footer: keep the disclaimer text and the legal links only.
Array.prototype.forEach.call(document.querySelectorAll('.footer-links a'),function(l){
if(!/^\/(disclaimer|privacy|refunds)$/.test(l.getAttribute('href')||''))l.style.display='none';
});
// payouts.js holds its proof toasts until the hook video has finished.
document.documentElement.setAttribute('data-squeeze','1');
var s=document.createElement('section');
s.className='hero wrap';
s.innerHTML='<h1 style="margin-top:10px">'+a.h+'</h1>'+
@@ -149,5 +160,7 @@
if(hp&&cta)hp.addEventListener('ended',function(){
cta.style.boxShadow='0 0 0 4px rgba(243,190,67,.45)';
cta.scrollIntoView({behavior:'smooth',block:'center'});
document.documentElement.removeAttribute('data-squeeze');
document.dispatchEvent(new Event('rmc:hookended'));
});
})();
+7 -1
View File
@@ -25,8 +25,14 @@
return stack;
}
const queue=[];let showing=false;
function enqueue(p){if(queue.length>=TOAST_MAX_QUEUE)return;queue.push(p);if(!showing)showNext()}
// On an angle squeeze page (join.js sets data-squeeze) the proof toasts wait
// until the hook video has ended, so they land as the visitor is deciding
// rather than competing with the video.
function held(){return document.documentElement.hasAttribute('data-squeeze')}
document.addEventListener('rmc:hookended',()=>{if(!showing)showNext()});
function enqueue(p){if(queue.length>=TOAST_MAX_QUEUE)return;queue.push(p);if(!showing&&!held())showNext()}
function showNext(){
if(held()){showing=false;return}
const p=queue.shift();
if(!p){showing=false;return}
showing=true;