Analisando suas respostas...
Gerando diagnóstico SWOT personalizado

Diagnóstico Eleitoral Inteligente

Responda às perguntas e receba uma análise SWOT completa da sua candidatura com recomendações estratégicas baseadas em dados.

Diagnóstico Eleitoral — Candidato

Análise SWOT e avaliação estratégica da sua candidatura

0
Nível do Candidato

Avaliação por Dimensão

Análise SWOT da Candidatura

Forças

    Fraquezas

      Oportunidades

        Ameaças

          Radar de Competências Eleitorais

          Distribuição por Área Estratégica

          O que o Sensus Next pode fazer por você

          Mapeamento Georreferenciado
          Dashboards em Tempo Real
          Perfil do Eleitorado
          Falar com um Especialista
          `; } function sendResultEmail(results) { const emailHTML = buildEmailHTML(results); const score = results.overallScore; // Prepare plain text summary for EmailJS template const dimSummary = Object.entries(DIMENSIONS).map(([k, d]) => `${d.label}: ${results.dimensionScores[k]*10}%`).join('\n'); const answersSummary = Object.values(results.answers).map(a => `[${a.category}] ${a.question}\n→ ${a.answer}`).join('\n\n'); const swotText = `FORÇAS:\n${Array.from(document.getElementById('swotStrengths').querySelectorAll('li')).map(l=>l.textContent).join('\n')}\n\nFRAQUEZAS:\n${Array.from(document.getElementById('swotWeaknesses').querySelectorAll('li')).map(l=>l.textContent).join('\n')}\n\nOPORTUNIDADES:\n${Array.from(document.getElementById('swotOpportunities').querySelectorAll('li')).map(l=>l.textContent).join('\n')}\n\nAMEAÇAS:\n${Array.from(document.getElementById('swotThreats').querySelectorAll('li')).map(l=>l.textContent).join('\n')}`; const aiText = window._aiAnalysisHTML || ''; // Guard: EmailJS has ~50KB limit per request; truncate HTML if needed const safeHTML = emailHTML.length > 45000 ? emailHTML.substring(0, 45000) + '...' : emailHTML; console.log(`[Email] HTML size: ${emailHTML.length} chars, safe: ${safeHTML.length} chars`); const templateParams = { to_name: results.candidateName, to_email: results.candidateEmail, from_name: 'Sensus Next — Diagnóstico Eleitoral', subject: `Diagnóstico Eleitoral — Score ${score}/100 — ${results.candidateName}`, score: score, score_level: results.scoreLevel, state: results.candidateState, dimensions: dimSummary, swot: swotText, answers: answersSummary, ai_analysis: aiText, recommendation: document.getElementById('recText').textContent, message_html: safeHTML }; console.log(`[Email] AI analysis incluída no email: ${aiText ? 'SIM (' + aiText.length + ' chars)' : 'NÃO'}`); // Try EmailJS first emailjs.send('questionario', 'template_ywbwpa4', templateParams) .then(() => { showEmailNotification('success', `Relatório enviado para ${results.candidateEmail}`); }) .catch((err) => { console.warn('EmailJS falhou, usando fallback mailto:', err); // Fallback: open mailto with summary sendMailtoFallback(results, score, dimSummary, swotText); }); // Always send internal copy const internalParams = { to_name: 'Equipe Sensus Next', to_email: 'aritana@ikanalytics.com.br', from_name: results.candidateName, subject: `[LEAD] Diagnóstico — ${results.candidateName} (${results.candidateState}) — Score ${score}`, score: score, score_level: results.scoreLevel, state: results.candidateState, dimensions: dimSummary, swot: swotText, answers: answersSummary, ai_analysis: aiText, recommendation: document.getElementById('recText').textContent, message_html: safeHTML }; emailjs.send('questionario', 'template_z01soq7', internalParams) .then(() => console.log('[Email] Cópia interna enviada com sucesso')) .catch((err) => console.error('[Email] Erro ao enviar cópia interna:', err)); } function sendMailtoFallback(results, score, dimSummary, swotText) { const subject = encodeURIComponent(`Diagnóstico Eleitoral — Score ${score}/100 — ${results.candidateName}`); const body = encodeURIComponent( `DIAGNÓSTICO ELEITORAL INTELIGENTE — SENSUS NEXT\n` + `${'='.repeat(50)}\n\n` + `Candidato: ${results.candidateName}\n` + `Estado: ${results.candidateState}\n` + `Score Geral: ${score}/100 — ${results.scoreLevel}\n\n` + `AVALIAÇÃO POR DIMENSÃO:\n${dimSummary}\n\n` + `ANÁLISE SWOT:\n${swotText}\n\n` + `RECOMENDAÇÃO:\n${document.getElementById('recText').textContent}\n\n` + `---\nSensus Next © 2026 — Powered by Boson Economics\n` + `WhatsApp: +55 47 99971-0745` ); window.open(`mailto:${results.candidateEmail}?subject=${subject}&body=${body}`, '_blank'); showEmailNotification('info', 'Abrindo cliente de email para envio do relatório...'); } function showEmailNotification(type, msg) { const div = document.createElement('div'); div.style.cssText = `position:fixed;top:20px;right:20px;z-index:10000;background:${type==='success'?'#27ae60':'#3498db'};color:#fff;padding:16px 24px;border-radius:12px;font-family:Inter,sans-serif;font-size:0.88rem;font-weight:600;box-shadow:0 8px 32px rgba(0,0,0,0.2);display:flex;align-items:center;gap:10px;animation:slideIn 0.3s ease;`; div.innerHTML = ` ${msg}`; document.body.appendChild(div); setTimeout(() => { div.style.opacity = '0'; div.style.transition = 'opacity 0.3s'; setTimeout(() => div.remove(), 300); }, 5000); } // ============================================================ // INIT // ============================================================ emailjs.init({ publicKey: 'BiA34v-h89X7CCPt1' }); console.log('[EmailJS] Inicializado com sucesso'); showIntro();