// Extracted verbatim from ui_kits/website/WebsiteAnimatedServices.jsx // (ContentComposerVis + AnimSvcCard) with asset paths rebased to this page. var React = window.React; function ContentComposerVis({active}) { var PILLS = ['Ad Copy','Landing Pages','AEO Articles','Social Posts','UGC Scripts']; var BRIEFS = [ 'Write me a Facebook ad for my skincare brand', 'Write a hero section for a fitness app landing page', 'Write an AEO article about sustainable fashion brands', 'Create an Instagram travel post and a TikTok food post', 'Write a UGC script for my jewelry brand', ]; var OUTPUTS = [ null, null, null, null, null, ]; var AD_HL = 'Glow from within. ✨'; var LP_HL = '30 Days. No Excuses. Real Results.'; var LP_SUB = 'Your AI-powered fitness coach, available 24/7.'; var [phase, setPhase] = React.useState(0); var [briefLen, setBriefLen] = React.useState(0); var [outLines, setOutLines] = React.useState(0); var [adStep, setAdStep] = React.useState(0); var [hlLen, setHlLen] = React.useState(0); var [lpStep, setLpStep] = React.useState(0); var [lpHlLen, setLpHlLen] = React.useState(0); var [lpSubLen, setLpSubLen] = React.useState(0); var [aeoStep, setAeoStep] = React.useState(0); var [aeoLoaded, setAeoLoaded] = React.useState(0); var [spStep, setSpStep] = React.useState(0); var [spCarouselIdx, setSpCarouselIdx] = React.useState(0); var [ugcLineIdx, setUgcLineIdx] = React.useState(0); var [cycle, setCycle] = React.useState(0); var [blink, setBlink] = React.useState(true); var [scanning, setScanning] = React.useState(false); var [adNaturalH, setAdNaturalH] = React.useState(null); var adInnerRef = React.useRef(null); var activeRef = React.useRef(active !== false); var [resumeKey, setResumeKey] = React.useState(0); React.useEffect(function(){ activeRef.current = active !== false; if (activeRef.current) setResumeKey(function(k){ return k+1; }); }, [active]); var pillIdx = cycle % PILLS.length; var isAd = pillIdx === 0; var isLP = pillIdx === 1; var isAEO = pillIdx === 2; var isSOC = pillIdx === 3; var isUGC = pillIdx === 4; React.useEffect(function(){ if (phase === 2) { setScanning(true); var t = setTimeout(function(){ setScanning(false); }, 500); return function(){ clearTimeout(t); }; } }, [phase]); React.useEffect(function(){ if (isSOC && phase === 2) { var t = setInterval(function(){ setSpCarouselIdx(function(i){ return (i+1)%5; }); }, 2000); return function(){ clearInterval(t); setSpCarouselIdx(0); }; } }, [isSOC, phase]); React.useEffect(function(){ if (phase === 2 && isAEO) { var timers = []; for (var i = 0; i < 10; i++) { (function(idx){ timers.push(setTimeout(function(){ setAeoLoaded(function(prev){ return Math.max(prev, idx+1); }); }, idx * 600 + 1000)); })(i); } return function(){ timers.forEach(function(t){ clearTimeout(t); }); setAeoLoaded(0); }; } }, [phase, isAEO]); React.useEffect(function(){ if (isAd && adStep >= 5 && adInnerRef.current) { setAdNaturalH(adInnerRef.current.offsetHeight); } }, [isAd, adStep]); React.useEffect(function(){ var id = '__ccv-scan'; if (!document.getElementById(id)) { var s = document.createElement('style'); s.id = id; s.textContent = '@keyframes aiScan{0%{top:0%;opacity:1}85%{top:100%;opacity:1}100%{top:100%;opacity:0}}@keyframes laserReveal{0%{clip-path:inset(0 0 100% 0)}100%{clip-path:inset(0 0 0% 0)}}@keyframes laserLine{0%{top:0%;opacity:1}90%{top:100%;opacity:1}100%{top:100%;opacity:0}}@keyframes slideFromLeft{from{transform:translateX(-16px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes citedPop{0%{transform:scale(0.7);opacity:0}70%{transform:scale(1.15)}100%{transform:scale(1);opacity:1}}@keyframes marqueeScroll{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}@keyframes slideFromBottom{from{transform:translateY(18px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes recBlink{0%,100%{opacity:1}50%{opacity:0}}@keyframes textReveal{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}@keyframes ugcLineIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.vis-paused,.vis-paused *{animation-play-state:paused!important}'; document.head.appendChild(s); } }, []); React.useEffect(function(){ if (!activeRef.current) return; if (phase === 0) { if (briefLen < BRIEFS[pillIdx].length) { var t = setTimeout(function(){ setBriefLen(function(n){ return n+1; }); }, 46); return function(){ clearTimeout(t); }; } else { var t2 = setTimeout(function(){ setPhase(1); }, 400); return function(){ clearTimeout(t2); }; } } if (phase === 1) { var t3 = setTimeout(function(){ setPhase(2); setOutLines(0); setAdStep(0); setHlLen(0); setLpStep(0); setLpHlLen(0); setLpSubLen(0); }, 800); return function(){ clearTimeout(t3); }; } if (phase === 2) { if (scanning) return; if (isAd) { if (adStep === 0) { var t4=setTimeout(function(){setAdStep(1);},350); return function(){clearTimeout(t4);}; } if (adStep === 1) { var t5=setTimeout(function(){setAdStep(2);},350); return function(){clearTimeout(t5);}; } if (adStep === 2) { if (hlLen < AD_HL.length) { var t6=setTimeout(function(){setHlLen(function(n){return n+1;});},55); return function(){clearTimeout(t6);}; } else { var t7=setTimeout(function(){setAdStep(3);},200); return function(){clearTimeout(t7);}; } } if (adStep === 3) { var t8=setTimeout(function(){setAdStep(4);},380); return function(){clearTimeout(t8);}; } if (adStep === 4) { var t9=setTimeout(function(){setAdStep(5);},380); return function(){clearTimeout(t9);}; } if (adStep >= 5) { var t10=setTimeout(function(){setPhase(3);},2000); return function(){clearTimeout(t10);}; } } else if (isLP) { if (lpStep === 0) { var tL1=setTimeout(function(){setLpStep(1);},350); return function(){clearTimeout(tL1);}; } if (lpStep === 1) { if (lpHlLen < LP_HL.length) { var tL2=setTimeout(function(){setLpHlLen(function(n){return n+1;});},45); return function(){clearTimeout(tL2);}; } else { var tL3=setTimeout(function(){setLpStep(2);},200); return function(){clearTimeout(tL3);}; } } if (lpStep === 2) { var tL4=setTimeout(function(){setLpStep(3);},450); return function(){clearTimeout(tL4);}; } if (lpStep === 3) { var tL5=setTimeout(function(){setLpStep(4);},1800); return function(){clearTimeout(tL5);}; } if (lpStep === 4) { var tL6=setTimeout(function(){setLpStep(5);},200); return function(){clearTimeout(tL6);}; } if (lpStep === 5) { if (lpSubLen < LP_SUB.length) { var tL7=setTimeout(function(){setLpSubLen(function(n){return n+1;});},38); return function(){clearTimeout(tL7);}; } else { var tL8=setTimeout(function(){setLpStep(6);},200); return function(){clearTimeout(tL8);}; } } if (lpStep === 6) { var tL9=setTimeout(function(){setLpStep(7);},400); return function(){clearTimeout(tL9);}; } if (lpStep >= 7) { var tL10=setTimeout(function(){setPhase(3);},2000); return function(){clearTimeout(tL10);}; } } else if (isAEO) { if (aeoStep < 7) { var tAeo=setTimeout(function(){setAeoStep(function(s){return s+1;});},1000); return function(){clearTimeout(tAeo);}; } else { var tAeo2=setTimeout(function(){setPhase(3);},2000); return function(){clearTimeout(tAeo2);}; } } else if (isSOC) { if (spStep < 2) { var tSp=setTimeout(function(){setSpStep(function(s){return s+1;});},300); return function(){clearTimeout(tSp);}; } else { var tSp2=setTimeout(function(){setPhase(3);},10000); return function(){clearTimeout(tSp2);}; } } else if (isUGC) { if (ugcLineIdx < 8) { var tU=setTimeout(function(){setUgcLineIdx(function(n){return n+1;});},1200); return function(){clearTimeout(tU);}; } else { var tU2=setTimeout(function(){setPhase(3);},3000); return function(){clearTimeout(tU2);}; } } else { var lines = OUTPUTS[pillIdx]; if (outLines < lines.length) { var t11=setTimeout(function(){setOutLines(function(n){return n+1;});},600); return function(){clearTimeout(t11);}; } else { var t12=setTimeout(function(){setPhase(3);},1800); return function(){clearTimeout(t12);}; } } } if (phase === 3) { var t13 = setTimeout(function(){ setCycle(function(c){ return c+1; }); setBriefLen(0); setOutLines(0); setAdStep(0); setHlLen(0); setLpStep(0); setLpHlLen(0); setLpSubLen(0); setAeoStep(0); setAeoLoaded(0); setSpStep(0); setSpCarouselIdx(0); setUgcLineIdx(0); setPhase(0); }, 800); return function(){ clearTimeout(t13); }; } }, [phase, briefLen, outLines, adStep, hlLen, lpStep, lpHlLen, lpSubLen, cycle, scanning, aeoStep, spStep, ugcLineIdx, resumeKey]); var btnPulse = phase === 1; var AEO_CARDS = [ { name:'Claude', bg:'#fff', nameColor:'#CC785C', textColor:'#555', accentColor:'#CC785C', badgeBg:'rgba(204,120,92,0.12)', badgeColor:'#CC785C', border:'1px solid #E8E8E8', textBefore:'', brand:'YOUR BRAND', textAfter:' exemplifies sustainable sourcing and ethical practices...', logo:
}, { name:'ChatGPT', bg:'#fff', nameColor:'#10A37F', textColor:'#555', accentColor:'#10A37F', badgeBg:'rgba(16,163,127,0.12)', badgeColor:'#10A37F', border:'1px solid #E8E8E8', textBefore:'Sustainable brands like ', brand:'YOUR BRAND', textAfter:' are leading the movement...', logo:
}, { name:'Gemini', bg:'#fff', nameColor:'#4285F4', textColor:'#555', accentColor:'#4285F4', badgeBg:'rgba(66,133,244,0.1)', badgeColor:'#4285F4', border:'1px solid #E8EAED', textBefore:'', brand:'YOUR BRAND', textAfter:' leads sustainability rankings for eco-fashion globally...', logo:
}, { name:'Perplexity', bg:'#fff', nameColor:'#1B1B1B', textColor:'#555', accentColor:'#1B1B1B', badgeBg:'rgba(0,0,0,0.08)', badgeColor:'#1B1B1B', border:'1px solid #E0E0E0', textBefore:'Eco-conscious shoppers trust ', brand:'YOUR BRAND', textAfter:' for certified fashion...', logo:
}, { name:'Copilot', bg:'#fff', nameColor:'#0078D4', textColor:'#555', accentColor:'#0078D4', badgeBg:'rgba(0,120,212,0.1)', badgeColor:'#0078D4', border:'1px solid #E0F0FF', textBefore:'For sustainable fashion, ', brand:'YOUR BRAND', textAfter:' offers certified eco products...', logo:
}, { name:'Meta AI', bg:'#fff', nameColor:'#1877F2', textColor:'#555', accentColor:'#1877F2', badgeBg:'rgba(24,119,242,0.1)', badgeColor:'#1877F2', border:'1px solid #DCE8FF', textBefore:'Discover sustainable brands — ', brand:'YOUR BRAND', textAfter:' is featured across Meta AI...', logo:
}, { name:'Grok', bg:'#fff', nameColor:'#1A1A1A', textColor:'#555', accentColor:'#1A1A1A', badgeBg:'rgba(0,0,0,0.07)', badgeColor:'#1A1A1A', border:'1px solid #E8E8E8', textBefore:'', brand:'YOUR BRAND', textAfter:' ranks #1 for sustainable fashion in Grok analysis...', logo:
}, ]; return (
{BRIEFS[pillIdx].slice(0, briefLen)}{phase === 0 && briefLen < BRIEFS[pillIdx].length ? | : ''}
Generate
{scanning &&
} {isAd && phase >= 2 ? (
{adStep >= 1 && (
Carbonium Agency
Sponsored
)} {adStep >= 2 && (
)} {adStep >= 2 && (
{AD_HL.slice(0, adStep === 2 ? hlLen : AD_HL.length)} {adStep === 2 && hlLen < AD_HL.length && |}
)} {adStep >= 3 && (
The serum dermatologists trust.
{adStep >= 4 &&
Now 20% off — 48 hours only.
}
)} {adStep >= 5 && (
carboniumagency.com
Shop Now →
)}
) : isLP && phase >= 2 ? (
{lpStep >= 1 && (
FitFlow
Features Pricing About
Get Started
)}
{lpStep >= 1 ? LP_HL.slice(0, lpStep === 1 ? lpHlLen : LP_HL.length) : ''} {lpStep === 1 && lpHlLen < LP_HL.length && |}
{lpStep >= 2 && (
=2?1:0,transition:'opacity 0.4s'}}>
=3?undefined:'inset(0 0 100% 0)',animation:lpStep>=3?'laserReveal 2s linear forwards':'none'}} /> {lpStep >= 3 && lpStep < 5 &&
}
=3?undefined:'inset(0 0 100% 0)',animation:lpStep>=3?'laserReveal 2s linear forwards':'none'}} /> {lpStep >= 3 && lpStep < 5 &&
}
)} {lpStep >= 4 && (
30-Day Transformation
)}
{lpStep >= 5 ? LP_SUB.slice(0, lpStep === 5 ? lpSubLen : LP_SUB.length) : ''} {lpStep === 5 && lpSubLen < LP_SUB.length && |}
{lpStep >= 7 && (
{['100K+ Members','4.9★ Rating','28 Days Avg. Result'].map(function(s,i){ return
{s}
; })}
)} {lpStep >= 7 && (
{[ {name:'Sarah M.',q:'Lost 12kg in 28 days. Unbelievable.'}, {name:'James T.',q:'Best investment I ever made.'}, {name:'Priya K.',q:'My coach never sleeps.'}, {name:'Marco R.',q:'Down 3 sizes in 30 days.'}, {name:'Lisa W.',q:'Finally a program that works.'}, {name:'Sarah M.',q:'Lost 12kg in 28 days. Unbelievable.'}, {name:'James T.',q:'Best investment I ever made.'}, {name:'Priya K.',q:'My coach never sleeps.'}, {name:'Marco R.',q:'Down 3 sizes in 30 days.'}, {name:'Lisa W.',q:'Finally a program that works.'}, ].map(function(t,i){ return (
{t.name} ★★★★★
{t.q}
); })}
)} {lpStep >= 7 && (
Start Free Trial →
Watch Demo
)}
) : isAEO && phase >= 2 ? (
{AEO_CARDS.slice(0, aeoStep).map(function(c, i){ return (
{c.logo}
{c.name}
{c.textBefore}{c.brand}{c.textAfter}
✓ Cited
); })}
) : isSOC && phase >= 2 ? (
{/* Instagram Phone */}
=1?1:0,transform:spStep>=1?'translateY(0)':'translateY(18px)',transition:'opacity 0.3s ease-out,transform 0.3s ease-out'}}>
travelwithsara
Follow
{['assets/pasted-1781880325387-0.png','assets/pasted-1781880331439-0.png','assets/pasted-1781880334937-0.png','assets/pasted-1781880340249-0.png','assets/pasted-1781880345398-0.png'].map(function(src,i){ return ; })}
{[0,1,2,3,4].map(function(i){ return
; })}
Bali, Indonesia
travelwithsara Some places change you forever. 🌅 Bali, you were everything.
❤️ 4.2K💬 183↗️ Share
jake.travels This view 😍🌅 where is this exactly?
sunsetlover_ Adding this to my bucket list immediately 🙌
View all 47 comments
Add a comment...
{/* TikTok Phone */}
=2?1:0,transform:spStep>=2?'translateY(0)':'translateY(18px)',transition:'opacity 0.3s ease-out 0.15s,transform 0.3s ease-out 0.15s',position:'relative',minHeight:'240px',display:'flex',flexDirection:'column'}}>
{[['❤️','124K'],['💬','3.2K'],['↗️','8.7K']].map(function(item,i){ return (
{item[0]} {item[1]}
); })}
@foodie.rome
POV: you found the best pasta in Rome 🍝😭
#foodtok #rome #pasta #fyp
) : isUGC && phase >= 2 ? (
{(function(){ var SCRIPT_SECTIONS = [ { label:'[HOOK]', showAt:1, lines:[ [{t:'POV: everyone keeps asking where I got these rings 💍',b:false}] ]}, { label:'[PROBLEM → SOLUTION]', showAt:2, lines:[ [{t:"So I'm finally telling you my secret...",b:false}], [{t:'I found ',b:false},{t:'YOUR BRAND',b:true},{t:' a few months ago and honestly?',b:false}] ]}, { label:'[PRODUCT]', showAt:4, lines:[ [{t:'The quality is insane for the price.',b:false}], [{t:'Every piece feels so premium and they never tarnish.',b:false}] ]}, { label:'[CTA]', showAt:6, lines:[ [{t:'Code SARAH = 30% off',b:true},{t:' your first order ✨',b:false}] ]} ]; return ( {/* Left: Phone */}
REC
{[{t:'POV: everyone keeps asking where I got these rings 💍',b:false},{t:"So I'm finally telling you my secret...",b:false},{t:'I found ',b:false},{t:'YOUR BRAND',b:true},{t:' a few months ago and honestly?',b:false},{t:'The quality is insane for the price.',b:false},{t:'Every piece feels so premium and they never tarnish.',b:false},{t:'I literally wear them every single day now.',b:false},{t:'Code SARAH = 30% off',b:true},{t:' your first order ✨',b:false},{t:"Trust me, you're gonna want to grab these. Link in bio 🛍️",b:false}].slice(0,Math.max(0,ugcLineIdx)).map(function(p,i){ return
{p.b?{p.t}:p.t}
; })}
@sarahlifestyle Sponsored
{/* Right: Script Panel */}
Script
{SCRIPT_SECTIONS.filter(function(s){ return ugcLineIdx >= s.showAt; }).map(function(sec,si){ return (
{sec.label}
{sec.lines.map(function(parts,li){ return (
{parts.map(function(p,pi){ return p.b ? {p.t} : {p.t}; })}
); })}
); })} {ugcLineIdx >= 7 && (
{['TikTok','Instagram Reels','YouTube Shorts'].map(function(p,i){ return
{p}
; })}
)} {ugcLineIdx >= 8 && (
✅ Approved & Delivered
)}
); })()}
) : (
{OUTPUTS[pillIdx] && OUTPUTS[pillIdx].slice(0, outLines).map(function(line, i){ return
{line}
; })} {phase === 2 && !isAd && !isLP && OUTPUTS[pillIdx] && outLines < OUTPUTS[pillIdx].length && ( )}
)}
{PILLS.map(function(p, i){ var active = i === pillIdx; return
{p}
; })}
); } function AnimSvcCard({num,title,desc,visual,span2,visualRef,noMinH,pinText,cardRef,pauseClass,popVisual,fixedVisH,tightText,balanceText}) { return (
{visual}
{num}

{title}

{desc}

); } // Wrapper: drives the composer animation only while the card is in view, // mirroring the homepage's IntersectionObserver behaviour. function ContentGenCard(){ var [active, setActive] = React.useState(true); var ref = React.useRef(null); React.useEffect(function(){ var el = ref.current; if (!el || typeof IntersectionObserver === 'undefined') return; var io = new IntersectionObserver(function(es){ es.forEach(function(e){ setActive(e.isIntersecting); }); }, { threshold: 0.2 }); io.observe(el); return function(){ io.disconnect(); }; }, []); return React.createElement( 'div', { ref: ref, style: { background: 'linear-gradient(170deg,#FAFAFA 0%,#F3F3F3 100%)', border: 'none', borderTop: '1.5px solid rgba(255,255,255,0.88)', borderRadius: '20px', overflow: 'hidden', display: 'flex', flexDirection: 'column', boxShadow: '0 0.71px 0.71px -0.67px rgba(0,0,0,.08), 0 1.81px 1.81px -1.33px rgba(0,0,0,.08), 0 3.62px 3.62px -2px rgba(0,0,0,.07), 0 6.87px 6.87px -2.67px rgba(0,0,0,.07), 0 13.65px 13.65px -3.33px rgba(0,0,0,.05), 0 30px 30px -4px rgba(0,0,0,.02), inset 0 1px 0 #FFFFFF', } }, React.createElement( 'div', { className: active ? '' : 'vis-paused', style: { height: '714px', flexShrink: 0, background: '#F5F5F5', overflow: 'hidden', display: 'flex', alignItems: 'stretch', width: '100%', borderRadius: '20px', } }, React.createElement(ContentComposerVis, { active: active }) ) ); } Object.assign(window, { ContentComposerVis: ContentComposerVis, AnimSvcCard: AnimSvcCard, ContentGenCard: ContentGenCard });