Joe

JOE

Inteligência Comercial

Não tem conta? Criar conta

Gratuito

CRM + JOE grátis

Standard

WhatsApp + BI

Pro

IA B2B completa

) --- window.injetarBotoesJoe = function() { // Procura a barra de digitação do JOE na tela const inputJoe = document.querySelector('input[placeholder*="Pergunte ao JOE"]'); if (!inputJoe) return; const chatArea = inputJoe.parentElement; if (document.getElementById('joe-elite-actions')) return; // Evita criar botões duplicados // Cria a barra de botões const btnContainer = document.createElement('div'); btnContainer.id = 'joe-elite-actions'; btnContainer.style.display = 'flex'; btnContainer.style.gap = '8px'; btnContainer.style.marginBottom = '10px'; btnContainer.style.flexWrap = 'wrap'; // Define os 3 super poderes const acoes = [ { label: '☕ Daily Briefing', cmd: 'GERAR DAILY BRIEFING: Analise o meu funil, a meta e o faturamento atual. Monte um plano de ação tático e rápido para a equipe hoje. Liste com nomes e valores EXATOS quais leads devem ser atacados hoje para ficarmos mais perto da meta.' }, { label: '❄️ Radar de Geladeira', cmd: 'RADAR DE GELADEIRA: Analise os meus leads atuais. Encontre o lead de MAIOR VALOR que pareça estar travado ou precisando de follow-up. Crie um script de WhatsApp curto, persuasivo e focado em gerar urgência para eu enviar para ele agora.' }, { label: '⚔️ Treinar Objeções', cmd: 'SIMULADOR DE OBJEÇÕES: Escolha o lead mais caro do meu funil atual. Assuma a persona do decisor dessa empresa. Você é ocupado e achou o preço caro. Diga a sua objeção de forma dura e espere eu tentar contornar. Seja difícil de convencer.' } ]; // Constrói os botões com design moderno acoes.forEach(a => { const b = document.createElement('button'); b.innerText = a.label; b.style.background = '#1a1a24'; b.style.border = '1px solid #8b5cf6'; b.style.color = '#8b5cf6'; b.style.padding = '6px 12px'; b.style.borderRadius = '6px'; b.style.fontSize = '11px'; b.style.cursor = 'pointer'; b.style.fontWeight = 'bold'; b.style.transition = 'all 0.2s'; // Efeito visual ao passar o mouse b.onmouseover = () => { b.style.background = '#8b5cf6'; b.style.color = '#fff'; }; b.onmouseout = () => { b.style.background = '#1a1a24'; b.style.color = '#8b5cf6'; }; // Ação ao clicar: Preenche o input e aperta Enter/Send b.onclick = () => { inputJoe.value = a.cmd; // Tenta achar o botão de enviar (o ícone de avião de papel) const sendBtn = chatArea.querySelector('button') || chatArea.querySelector('.fa-paper-plane').parentElement; if(sendBtn) sendBtn.click(); }; btnContainer.appendChild(b); }); // Insere os botões logo acima do campo de digitar chatArea.parentNode.insertBefore(btnContainer, chatArea); }; // Monitora cliques na tela para garantir que os botões apareçam quando você abrir a aba do JOE document.addEventListener('click', () => { setTimeout(window.injetarBotoesJoe, 300); }); // Tenta injetar logo que a página carrega setTimeout(window.injetarBotoesJoe, 1500); // --- MODO ÁUDIO-FIRST: ESCONDER TEXTO E MOSTRAR BOTÃO --- window.injetarBotaoTranscricao = function() { if(document.getElementById('css-modo-voz')) return; // 1. Cria a magia visual (Ocultar texto + Botão) const style = document.createElement('style'); style.id = 'css-modo-voz'; style.innerHTML = ` .texto-joe-oculto { filter: blur(5px); opacity: 0.1; max-height: 40px; /* Deixa o espaço bem pequeno na tela */ overflow: hidden; pointer-events: none; transition: all 0.4s ease; } .texto-joe-revelado { filter: blur(0px); opacity: 1; max-height: 2000px; /* Abre espaço para o texto todo deslizar */ transition: all 0.5s ease; } .btn-transcricao { display: block; background: #1a1a24; border: 1px solid #8b5cf6; color: #8b5cf6; padding: 10px 16px; border-radius: 6px; cursor: pointer; font-size: 13px; font-weight: bold; margin: 10px 0; width: 100%; text-align: center; transition: all 0.2s ease; } .btn-transcricao:hover { background: #8b5cf6; color: #fff; } `; document.head.appendChild(style); // 2. Monitora a tela secretamente a cada 1 segundo setInterval(() => { // Procura por respostas longas geradas pela IA na aba principal const abaIA = document.querySelector('#tab-b2bai') || document.body; const possiveisTextos = abaIA.querySelectorAll('div, p, span'); possiveisTextos.forEach(el => { // Se o texto tem mais de 50 letras, não é um botão e ainda não foi ocultado if (el.innerText && el.innerText.length > 50 && !el.dataset.vozInjetada && !el.closest('button, input, textarea, .bai-tab')) { // Marca o elemento para não criar dois botões iguais el.dataset.vozInjetada = "true"; el.classList.add('texto-joe-oculto'); // Cria o botão de balãozinho const btn = document.createElement('button'); btn.className = 'btn-transcricao'; btn.innerHTML = '💬 O JOE gerou um áudio. Clique aqui para ler a transcrição.'; // Ação de clique para revelar o texto btn.onclick = (e) => { e.preventDefault(); el.classList.remove('texto-joe-oculto'); el.classList.add('texto-joe-revelado'); btn.style.display = 'none'; // O botão some depois de clicado }; // Insere o botão na tela exatamente acima do texto invisível el.parentNode.insertBefore(btn, el); } }); }, 1000); }; // Inicia o sistema logo que a tela carregar setTimeout(window.injetarBotaoTranscricao, 1500);