Como você avalia a VIP ONLINE?

Seu feedback é muito importante para continuarmos melhorando!

Ruim Excelente
/* Estilos básicos para o corpo da página */ .container { background: white; padding: 30px; border-radius: 10px; max-width: 500px; margin: auto; box-shadow: 0 0 10px rgba(0,0,0,0.1); text-align: center; } /* Container de estrelas com espaçamento entre elas */ .stars { display: flex; justify-content: center; gap: 10px; margin: 20px 0; } /* Estilo padrão das estrelas */ .star { font-size: 50px; color: #dddddd; cursor: pointer; transition: all 0.3s; } /* Estilo quando passa o mouse ou seleciona */ .star.hover, .star.selected { color: gold; transform: scale(1.1); } /* Rótulos das estrelas */ .rating-labels { display: flex; justify-content: space-between; margin: 10px 0; color: #666; font-size: 14px; } /* Estilo dos botões */ .container button { padding: 12px 24px; background-color: #004AAD; color: white; border: none; border-radius: 5px; font-size: 16px; cursor: pointer; transition: background-color 0.3s; margin-top: 15px; } .container button:hover { background-color: #003980; } .container button:disabled { background-color: #cccccc; cursor: not-allowed; } /* Classe para esconder elementos */ .hidden { display: none; } /* Estilo para os campos de input e textarea */ .container input, .container textarea { width: 100%; padding: 12px; margin: 10px 0; border: 1px solid #ccc; border-radius: 5px; font-size: 16px; box-sizing: border-box; } .container textarea { min-height: 120px; resize: vertical; } /* Spinner de carregamento */ .loader { border: 4px solid #f3f3f3; border-top: 4px solid #004AAD; border-radius: 50%; width: 30px; height: 30px; animation: spin 1s linear infinite; margin: 20px auto; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* Mensagem de erro */ .error-msg { color: #d32f2f; font-size: 14px; margin: 10px 0; text-align: left; } /* Animações de transição */ .fade-in { animation: fadeIn 0.5s; } @keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } } .form-field { margin-bottom: 15px; } .container label { display: block; text-align: left; margin-bottom: 5px; font-weight: bold; } /* Responsividade para mobile */ @media (max-width: 600px) { .container { padding: 20px; } .star { font-size: 40px; } } // Variável GLOBAL para armazenar a nota selecionada var notaSelecionada = 0; // Espera o DOM carregar completamente document.addEventListener('DOMContentLoaded', function() { const stars = document.querySelectorAll('.star'); const btnConfirmar = document.getElementById('btnConfirmar'); // Adiciona os efeitos de hover e clique nas estrelas stars.forEach((star, index) => { // Ao passar o mouse: destacar as estrelas até a atual star.addEventListener('mouseover', () => { stars.forEach((s, i) => { s.classList.toggle('hover', i { stars.forEach(s => s.classList.remove('hover')); }); // Ao clicar: definir nota selecionada e destacar estrelas fixamente star.addEventListener('click', () => { // Aqui usamos a variável global notaSelecionada = index + 1; console.log("Nota selecionada: " + notaSelecionada); // Para debug stars.forEach((s, i) => { s.classList.toggle('selected', i = 4) { // Mostra mensagem e redireciona para o Google se nota for 4 ou 5 document.getElementById("mensagemAgradecimento").classList.remove("hidden"); // Contador regressivo let contador = 3; const countdownElement = document.getElementById('countdown'); const interval = setInterval(() => { contador--; countdownElement.textContent = contador; if (contador <= 0) { clearInterval(interval); window.location.href = "https://g.page/r/CYNN1_5HPTOAEBM/review"; } }, 1000); } else { // Mostra formulário de feedback se nota for até 3 document.getElementById("formFeedback").classList.remove("hidden"); } } // Validação de campos function validarCampos() { let valido = true; const nome = document.getElementById("nome").value.trim(); const comentario = document.getElementById("comentario").value.trim(); // Validar nome if (nome.length < 3 || !nome.includes(" ")) { document.getElementById("nomeError").classList.remove("hidden"); valido = false; } else { document.getElementById("nomeError").classList.add("hidden"); } // Validar comentário if (comentario.length { document.getElementById("loadingFeedback").classList.add("hidden"); document.getElementById("mensagemFinal").classList.remove("hidden"); }, 2000); // Quando tiver o URL do script, descomente este bloco e remova a simulação acima fetch(scriptUrl, { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(dados) }) .then(response => { if (!response.ok) { throw new Error('Erro na resposta da rede'); } return response.json(); }) .then(data => { // Sucesso no envio document.getElementById("loadingFeedback").classList.add("hidden"); document.getElementById("mensagemFinal").classList.remove("hidden"); }) .catch(error => { // Erro no envio document.getElementById("loadingFeedback").classList.add("hidden"); document.getElementById("formFeedback").classList.remove("hidden"); alert("Ocorreu um erro ao enviar seu feedback: " + error.message); console.error("Erro ao enviar feedback:", error); }); }

Internet Fibra Óptica de qualidade

Siga-nos no Instagram

Fique por dentro de todas as novidades da VIP Online através do nosso Instagram!

Contato

Rua Deputado Jose de Assis, 1896 – União V, Gurupi – TO, 77405-160

Razão Social: VIP ONLINE TELECOM LTDA – CNPJ: 03.481.331/0001-89

©2018-2024 – VIP ONLINE – Todos os direitos reservados

Desenvolvido por MPRADO