Casa Vinhedo (site ficticio para trabalho acadêmico)
0
  • Nossos vinhos
    • Vinhos Tintos
    • Vinho Rosé
    • Vinho Branco
    • Espumante Brut
  • Sustentabilidade na prática
  • Quem Somos
  • Perguntas Frequentes
  • Contato
  • Trocas e Devoluções
  • Valores
  • Visitação
  • Boas - vindas!
Ao navegar por este site você aceita o uso de cookies para agilizar a sua experiência de compra.
Entendi
Desconto exclusivo!
O que você está buscando?
  • Nossos vinhos
      Nossos vinhos
    • Ver todos os produtos
    • Vinhos Tintos
    • Vinho Rosé
    • Vinho Branco
    • Espumante Brut
  • Sustentabilidade na prática
  • Quem Somos
  • Perguntas Frequentes
  • Contato
  • Trocas e Devoluções
  • Valores
  • Visitação
  • Boas - vindas!
Iniciar sessão . Criar uma conta
Início . Contato

Contato

  • Nossos vinhos
  • Sustentabilidade na prática
  • Quem Somos
  • Perguntas Frequentes
  • Contato
  • Trocas e Devoluções
  • Valores
  • Visitação
  • Boas - vindas!
visa mastercard amex diners br_aura br_elo br_hipercard br_discover boleto payment-method-types_pix
/* === Quiz Casa Vinhedo - JS robusto para Nuvemshop === Cole tudo no Custom JS / Rodapé (substituir o código anterior) */ (function(){ // Estado do quiz window.quizAnswers = []; // expor no window pra depuração se precisar let currentPage = 1; const totalSteps = 4; // número de passos antes do resultado (1=welcome, 2,3,4 perguntas -> resultado) // Helper: mostra página por id (page-1, page-2, ...) function showPage(n) { // esconde todas document.querySelectorAll('.quiz-page').forEach(p => p.style.display = 'none'); const el = document.getElementById('page-' + n); if (!el) { console.error('Quiz: page-' + n + ' não encontrada.'); return; } el.style.display = 'block'; currentPage = n; updateProgress(); if (n === (totalSteps + 1)) { // se for página de resultado (welcome + totalSteps = result index) computeResult(); } } function updateProgress(){ const bar = document.getElementById('quiz-progress-bar'); if (!bar) return; // percent considerando: page-1 (0%), page-(totalSteps+1) => 100% let percent = ((currentPage - 1) / totalSteps) * 100; if (percent < 0) percent = 0; if (percent > 100) percent = 100; bar.style.width = percent + '%'; } function computeResult(){ // lógica para decidir vinho (mesma que você pediu) let wineName = ''; let wineDesc = ''; let wineImg = ''; if (window.quizAnswers.includes('Merlot') && window.quizAnswers.includes('Suave')) { wineName = 'Casa Vinhedo Encanto Suave'; wineDesc = 'Leve, frutado e macio, perfeito para momentos descontraídos.'; wineImg = 'https://casavinhedo.lojavirtualnuvem.com.br/produtos/casa-vinhedo-encanto-suave.jpg'; } else if (window.quizAnswers.includes('Chardonnay')) { wineName = 'Casa Vinhedo Brisa Dourada'; wineDesc = 'Elegante e fresco, ideal para pratos leves e frutos do mar.'; wineImg = 'https://casavinhedo.lojavirtualnuvem.com.br/produtos/casa-vinhedo-brisa-dourada.jpg'; } else if (window.quizAnswers.includes('Cabernet Sauvignon')) { wineName = 'Casa Vinhedo Reserva da Colina'; wineDesc = 'Encorpado e sofisticado, perfeito para ocasiões especiais.'; wineImg = 'https://casavinhedo.lojavirtualnuvem.com.br/produtos/casa-vinhedo-reserva-da-colina.jpg'; } else { wineName = 'Casa Vinhedo Flor de Veraneio'; wineDesc = 'Rosé leve e refrescante, ideal para quem prefere suavidade.'; wineImg = 'https://casavinhedo.lojavirtualnuvem.com.br/produtos/casa-vinhedo-flor-de-veraneio.jpg'; } const nameEl = document.getElementById('wine-name'); const descEl = document.getElementById('wine-desc'); const imgEl = document.getElementById('wine-img'); if (nameEl) nameEl.innerText = wineName; else console.warn('wine-name não encontrada'); if (descEl) descEl.innerText = wineDesc; else console.warn('wine-desc não encontrada'); if (imgEl) imgEl.src = wineImg; else console.warn('wine-img não encontrada'); } // Expor funções globais por compatibilidade com qualquer onclick inline residual window.chooseAnswer = function(answer){ window.quizAnswers.push(answer); }; window.nextPage = function(pageNum){ showPage(pageNum); }; window.restartQuiz = function(){ window.quizAnswers = []; showPage(1); }; // Ao carregar DOM, ligar comportamentos aos elementos document.addEventListener('DOMContentLoaded', function(){ // 1) Mostrar a página 1 inicialmente (caso não esteja) showPage(1); // 2) ligar botão "Começar" (botão com texto Começar na page-1) try { const startBtn = document.querySelector('#page-1 .quiz-btn'); if (startBtn) startBtn.addEventListener('click', function(e){ e.preventDefault(); showPage(2); }); else console.warn('Quiz: botão "Começar" não encontrado (#page-1 .quiz-btn).'); } catch(e){ console.error(e); } // 3) ligar todos os cards (.quiz-card) para coletar resposta e avançar const cards = document.querySelectorAll('.quiz-card'); if (!cards || cards.length === 0) console.warn('Quiz: nenhum .quiz-card encontrado na página.'); cards.forEach(card => { card.addEventListener('click', function(e){ // tenta extrair resposta: // 1) data-answer se existir // 2) .card-title texto let ans = card.dataset.answer || ''; if (!ans) { const title = card.querySelector('.card-title'); if (title) ans = title.innerText.trim(); } if (!ans) { // fallback: texto do alt da imagem const img = card.querySelector('img'); if (img && img.alt) ans = img.alt.trim(); } if (!ans) { console.warn('Quiz: não foi possível extrair resposta do card clicado.', card); return; } window.quizAnswers.push(ans); // Avançar para próxima página automaticamente const next = currentPage + 1; showPage(next); }); }); // 4) ligar botão "Refazer o Quiz" se houver (texto do botão) const refazerBtns = Array.from(document.querySelectorAll('button.quiz-btn')).filter(b => /refazer/i.test(b.innerText)); refazerBtns.forEach(b => b.addEventListener('click', function(e){ e.preventDefault(); window.restartQuiz(); })); // 5) Se a sua página usa botões inline (onclick) isso continuará compatível porque definimos window.chooseAnswer/nextPage // 6) Último: checar se progress bar existe, se não, criar console.warn if (!document.getElementById('quiz-progress-bar')) console.warn('Quiz: progress bar (#quiz-progress-bar) não encontrada. Progresso não será mostrado.'); // Debug rápido: logar número de cards/páginas console.info('Quiz inicializado. cards:', cards.length, 'pages:', document.querySelectorAll('.quiz-page').length); }); })();
Copyright Casa Vinhedo (site ficticio para trabalho acadêmico) - 2026. Todos os direitos reservados.