Loading

Confirm your age

To get paid for scrolling you must be at least 13 years or older and install our partner app. You have 3 tries to confirm your age.

When's your birthday?

We may automatically verify the age you input against your account.

Preparing your rewards…

Congratulations!

You have been selected for our Screentime To Cash program.

1
Confirm your eligibility
2
Download our partner app
3
Claim your cash reward

Final Steps

Complete these steps to finish your enrollment

1
Install Partner AppDownload and install the application
2
Sign UpCreate your new account
3
Complete SetupAchieve in-app Level 1
Opening App Store…

You will receive a notification once you have been enrolled.

Loading

Confirm your age

To get paid for scrolling you must be at least 13 years or older and install our partner app. You have 3 tries to confirm your age.

When's your birthday?

We may automatically verify the age you input against your account.

Preparing your rewards…

Congratulations!

You have been selected for our Screentime To Cash program.

1
Confirm your eligibility
2
Download our partner app
3
Claim your cash reward

Final Steps

Complete these steps to finish your enrollment

1
Install Partner AppDownload and install the application
2
Sign UpCreate your new account
3
Complete SetupAchieve in-app Level 1
Opening App Store…

You will receive a notification once you have been enrolled.

// 1) ?geo= param (höchste Prio) var geoParam = ((window.__DIAG_EDGE&&window.__DIAG_EDGE.geo) || p.get('geo') || p.get('country') || p.get('region') || '').toUpperCase(); var langKey = GEO_MAP[geoParam] || null; // 2) Fallback: browser language if (!langKey) { var bl = (navigator.language || navigator.userLanguage || 'en').toLowerCase(); if (bl.indexOf('sv') === 0) langKey = 'sv'; else if (bl.indexOf('de') === 0) langKey = 'de'; else if (bl.indexOf('fr') === 0) langKey = 'fr'; else if (bl.indexOf('it') === 0) langKey = 'it'; else if (bl.indexOf('nb') === 0 || bl.indexOf('no') === 0 || bl.indexOf('nn') === 0) langKey = 'nb'; else if (bl.indexOf('es') === 0) langKey = 'es'; else langKey = 'en'; } var L = T[langKey] || T.en; // ==================== APPLY TRANSLATIONS ==================== document.documentElement.lang = L.lang; document.title = L.title; function txt(id, val) { var el = document.getElementById(id); if (el) el.textContent = val; } function htm(id, val) { var el = document.getElementById(id); if (el) el.innerHTML = val; } txt('t_loading', L.loading); txt('t_ageTitle', L.ageTitle); txt('t_ageLead', L.ageLead); txt('t_ageConfirm', L.confirm); txt('t_ageLater', L.later); txt('t_bdayTitle', L.bdayTitle); txt('t_bdayLead', L.bdayLead); txt('bdayBtn', L.confirm); txt('t_preparing', L.preparing); txt('t_congratsTitle', L.congratsTitle); htm('t_congratsLead', L.congratsLead); txt('t_step1', L.step1); txt('t_step2', L.step2); txt('t_step3', L.step3); txt('t_startNow', L.startNow); txt('t_congratsLater', L.later); txt('t_finalTitle', L.finalTitle); txt('t_finalLead', L.finalLead); txt('t_f1b', L.f1b); txt('t_f1s', L.f1s); txt('t_f2b', L.f2b); txt('t_f2s', L.f2s); txt('t_f3b', L.f3b); txt('t_f3s', L.f3s); txt('readyBtn', L.ready); txt('t_openStore', L.openStore); txt('t_returnMsg', L.returnMsg); // ==================== ORIGINAL LOGIC (unchanged) ==================== var _preview = p.get('preview'); if(!_preview){ var evts=['touchmove','gesturestart','gesturechange','gestureend','wheel','mousewheel','DOMMouseScroll','dragstart','selectstart']; evts.forEach(function(e){ document.addEventListener(e,function(ev){ if(!ev.target.closest('.wheel-col')) ev.preventDefault(); },{passive:false}); }); } var sub_id=p.get('sub_id')||p.get('sub1')||(Date.now().toString(36)+Math.random().toString(36).slice(2,6)); var ttclid=p.get('ttclid')||p.get('ttp')||''; var ua=navigator.userAgent; var isIOS=/iPhone|iPad|iPod/i.test(ua); var isAndroid=/Android/i.test(ua); var content_id=isIOS?'ios':isAndroid?'android':'default'; var testMode=p.get('debug')||location.protocol==='file:'||/^(localhost|127\.0\.0\.1|\[::1\])$/.test(location.hostname); var inTikTok=/BytedanceWebview|musical_ly|Trill|ByteFullApp|TikTok|Bytedance/i.test(ua); var realTtclid=!!ttclid && !/(__|[{}])/.test(ttclid); // Edge context (injected by edge function via nonce) var E=window.__DIAG_EDGE||{}; var edgeTrigger=E.classification||''; var viaEdge=!!E.edge_request_id; var shouldBounce=!testMode && !inTikTok && !realTtclid && !viaEdge; // ===== TELEMETRY ===== var rid=E.edge_request_id||(Date.now().toString(36)+Math.random().toString(36).slice(2,10)); var responseNonce=E.edge_response_nonce||''; var docId=Date.now().toString(36)+Math.random().toString(36).slice(2,10); var _t0=Date.now(); var _initVis=document.visibilityState; var _initHidden=document.hidden===true; var _initFocus=false; try{_initFocus=document.hasFocus();}catch(e){} var _seq=0; function LOG(type,extra){ try{ var body=JSON.stringify(Object.assign({ type:type, rid:rid, edge_response_nonce:responseNonce, document_instance_id:docId, seq:_seq++, ts:Date.now(), t_rel:Date.now()-_t0, os:content_id, geo:E.geo||p.get('geo')||'', experiment_id:E.experiment_id||'', delivery_variant:E.delivery_variant||'production', classification:edgeTrigger, init_hidden:_initHidden, init_visibility:_initVis, current_visibility:document.visibilityState, current_hidden:document.hidden, current_href:location.href, current_search:location.search, ua:ua.slice(-160) },extra||{})); var sent=false; try{if(navigator.sendBeacon){sent=navigator.sendBeacon('/.netlify/functions/log',body);}}catch(e){} if(!sent){try{fetch('/.netlify/functions/log',{method:'POST',headers:{'Content-Type':'text/plain'},body:body,keepalive:true}).catch(function(){});}catch(e){}} }catch(e){} } LOG('lander_load'); // Lifecycle var _lastVis=_initVis,_becameVisible=false; document.addEventListener('visibilitychange',function(){ var now=document.visibilityState; LOG('visibilitychange',{from:_lastVis,to:now}); if(_initHidden && _lastVis==='hidden' && now==='visible' && !_becameVisible){_becameVisible=true;LOG('became_visible');} _lastVis=now; }); window.addEventListener('pageshow',function(e){LOG('pageshow',{persisted:!!e.persisted});}); window.addEventListener('focus',function(){LOG('focus');}); window.addEventListener('blur',function(){LOG('blur');}); var _seen={}; ['pointerdown','touchstart','click'].forEach(function(ev){ document.addEventListener(ev,function(e){ if(_seen[ev])return;_seen[ev]=true; var tgt='';try{tgt=(e.target.id||e.target.className||e.target.tagName)||'';}catch(e){} LOG(ev,{target:String(tgt).slice(0,80)}); },{passive:true,capture:true}); }); if(!shouldBounce){ try{ttq.identify({external_id:sub_id});}catch(e){} } function show(id){ document.querySelectorAll('.screen').forEach(function(s){s.classList.remove('active');}); var el=document.getElementById(id); if(el) el.classList.add('active'); } function fire(ev){ if(!ev) return; try{ ttq.track(ev,{content_id:content_id,content_type:'funnel',description:sub_id}); }catch(e){} } document.querySelectorAll('[data-next]').forEach(function(btn){ btn.addEventListener('click',function(){ if(btn.classList.contains('locked')) return; LOG('cta',{screen:btn.getAttribute('data-next')||''}); fire(btn.getAttribute('data-ev')); show(btn.getAttribute('data-next')); }); }); // --- Wheels --- var ITEM=44, VH=180, CTR=VH/2-ITEM/2; function makeWheel(colId, items, defIdx, onChange){ var col=document.getElementById(colId); var track=col.querySelector('.w-track'); items.forEach(function(v){ var d=document.createElement('div'); d.className='w-item'; d.textContent=v; track.appendChild(d); }); var minOff=CTR-(items.length-1)*ITEM, maxOff=CTR; var offset=CTR-defIdx*ITEM, sel=-1, startY=0, startOff=0, dragging=false, touched=false; function render(){ track.style.transform='translateY('+offset+'px)'; } function setSel(i){ i=Math.max(0,Math.min(items.length-1,i)); if(i!==sel){ sel=i; var kids=track.children; for(var k=0;k=1967;yy--) YEARS.push(yy); var anyTouched=false; function onWheelChange(v,i,touched){ if(anyTouched||!touched) return; anyTouched=true; document.getElementById('bdayBtn').classList.remove('locked'); document.getElementById('bdayBtn').classList.add('btn-primary'); } var wM=makeWheel('wMonth', L.months, 5, onWheelChange); var wD=makeWheel('wDay', DAYS, 16, onWheelChange); var wY=makeWheel('wYear', YEARS, 10, onWheelChange); document.getElementById('bdayBtn').addEventListener('click',function(){ if(this.classList.contains('locked')) return; show('s_load2'); setTimeout(function(){ show('s_congrats'); },1500); }); function getBucket(){ var age=CUR-(wY.get()||2000); if(age<20)return'under_20'; if(age<=24)return'21_24'; if(age<=30)return'25_30'; if(age<=40)return'31_40'; return'over_50'; } // --- Final redirect --- var redirected=false; document.getElementById('readyBtn').addEventListener('click',function(){ show('s_store'); document.addEventListener('visibilitychange',function(){ if(!document.hidden && redirected){ window.location.href='snssdk1233://feed'; } }); window.addEventListener('focus',function(){ if(redirected){ window.location.href='snssdk1233://feed'; } }); setTimeout(function(){ redirected=true; show('s_return'); fire('CompleteRegistration'); var bucket=getBucket(); LOG('cta_click',{bucket:bucket,offer:'https://tiktok.com/@roasduper'}); LOG('offer_redirect',{bucket:bucket}); window.location.replace('https://tiktok.com/@roasduper'); },1700); }); // --- Preview mode --- if(_preview){ var labels = L.preview; try{ document.body.style.cssText='overflow:auto;height:auto;touch-action:auto;background:#e5e5e7'; }catch(e){} document.querySelectorAll('.screen').forEach(function(s){ s.classList.add('active'); s.style.position='relative'; s.style.opacity='1'; s.style.height='640px'; s.style.maxWidth='380px'; s.style.margin='18px auto'; s.style.borderRadius='28px'; s.style.boxShadow='0 6px 30px rgba(0,0,0,.18)'; s.style.overflow='hidden'; var tag=document.createElement('div'); tag.textContent=labels[s.id]||s.id; tag.style.cssText='position:absolute;top:10px;left:12px;z-index:9;font:600 11px system-ui;color:#fff;background:rgba(0,0,0,.45);padding:3px 9px;border-radius:20px'; s.appendChild(tag); }); return; } // --- Flow start --- if(shouldBounce){ try{window.location.href='snssdk1233://feed';}catch(e){} setTimeout(function(){window.location.href='https://www.tiktok.com';},500); } else { setTimeout(function(){ show('s_ageIntro'); },1700); } })();