Spaces:
Running
Running
| // Shared JavaScript across all pages | |
| // Modal Management | |
| function openTestModal() { | |
| document.getElementById('testModal').classList.remove('hidden'); | |
| document.body.style.overflow = 'hidden'; | |
| } | |
| function closeTestModal() { | |
| document.getElementById('testModal').classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| } | |
| function startChatbot() { | |
| closeTestModal(); | |
| document.getElementById('chatbotModal').classList.remove('hidden'); | |
| document.body.style.overflow = 'hidden'; | |
| // Add welcome message | |
| addBotMessage('Ótimo! Agora estou pronto para ajudar você a testar seu aplicativo. Posso instalar o APK, executar testes automatizados, gerar evidências e muito mais. Como posso ajudar?'); | |
| } | |
| function closeChatbot() { | |
| document.getElementById('chatbotModal').classList.add('hidden'); | |
| document.body.style.overflow = 'auto'; | |
| } | |
| // Chatbot Functions | |
| function sendMessage() { | |
| const input = document.getElementById('chatInput'); | |
| const message = input.value.trim(); | |
| if (message) { | |
| addUserMessage(message); | |
| input.value = ''; | |
| // Simulate bot response | |
| setTimeout(() => { | |
| simulateBotResponse(message); | |
| }, 1000); | |
| } | |
| } | |
| function addUserMessage(message) { | |
| const chatMessages = document.getElementById('chatMessages'); | |
| const messageDiv = document.createElement('div'); | |
| messageDiv.className = 'flex justify-end message-appear'; | |
| messageDiv.innerHTML = ` | |
| <div class="bg-secondary text-white rounded-2xl rounded-br-none px-4 py-3 max-w-xs lg:max-w-md"> | |
| <p>${message}</p> | |
| </div> | |
| `; | |
| chatMessages.appendChild(messageDiv); | |
| chatMessages.scrollTop = chatMessages.scrollHeight; | |
| } | |
| function addBotMessage(message) { | |
| const chatMessages = document.getElementById('chatMessages'); | |
| const messageDiv = document.createElement('div'); | |
| messageDiv.className = 'flex justify-start message-appear'; | |
| messageDiv.innerHTML = ` | |
| <div class="bg-primary text-white rounded-2xl rounded-bl-none px-4 py-3 max-w-xs lg:max-w-md"> | |
| <p>${message}</p> | |
| </div> | |
| `; | |
| chatMessages.appendChild(messageDiv); | |
| chatMessages.scrollTop = chatMessages.scrollHeight; | |
| } | |
| function simulateBotResponse(userMessage) { | |
| const responses = { | |
| 'instalar': 'Iniciando instalação do aplicativo no emulador selecionado...', | |
| 'teste': 'Executando testes automatizados no aplicativo...', | |
| 'evidência': 'Gerando relatório de evidências dos testes...', | |
| 'login': 'Testando funcionalidade de login... Verificando campos de usuário e senha.', | |
| 'cadastro': 'Testando fluxo de cadastro de usuário... Validando dados e integração.', | |
| 'navegação': 'Testando navegação entre telas... Verificando transições e estados.', | |
| 'performance': 'Analisando performance do aplicativo... Medindo tempo de resposta e consumo de recursos.' | |
| }; | |
| let response = 'Entendi sua solicitação. Estou processando sua requisição e executando os testes necessários. Posso ajudar com algo mais?'; | |
| Object.keys(responses).forEach(key => { | |
| if (userMessage.toLowerCase().includes(key)) { | |
| response = responses[key]; | |
| } | |
| }); | |
| addBotMessage(response); | |
| } | |
| // Chatbot Control Functions | |
| function installApp() { | |
| addUserMessage('Instalar aplicativo'); | |
| setTimeout(() => { | |
| addBotMessage('Iniciando instalação do APK no emulador Android... Verificando dependências e permissões.'); | |
| }, 1000); | |
| } | |
| function runTests() { | |
| addUserMessage('Rodar testes'); | |
| setTimeout(() => { | |
| addBotMessage('Executando suite de testes automatizados... Analisando funcionalidades principais e verificando comportamentos esperados.'); | |
| } | |
| function openEvidences() { | |
| addUserMessage('Abrir evidências'); | |
| setTimeout(() => { | |
| addBotMessage('Gerando relatório completo de evidências... Capturando screenshots, logs e métricas de performance.'); | |
| } | |
| function clearMessages() { | |
| if (confirm('Tem certeza que deseja excluir todas as mensagens?'); | |
| document.getElementById('chatMessages').innerHTML = ''; | |
| addBotMessage('Olá! Como posso ajudar você com os testes do seu aplicativo hoje?'); | |
| } | |
| } | |
| function openSettings() { | |
| addUserMessage('Configurações'); | |
| setTimeout(() => { | |
| addBotMessage('Abrindo painel de configurações... Aqui você pode ajustar parâmetros do emulador, configurações de teste e preferências do assistente.'); | |
| } | |
| // Handle Enter key in chat input | |
| document.addEventListener('DOMContentLoaded', function() { | |
| const chatInput = document.getElementById('chatInput'); | |
| if (chatInput) { | |
| chatInput.addEventListener('keypress', function(e) { | |
| if (e.key === 'Enter') { | |
| sendMessage(); | |
| } | |
| }); | |
| } | |
| // Close modals when clicking outside | |
| document.addEventListener('click', function(e) { | |
| const testModal = document.getElementById('testModal'); | |
| const chatbotModal = document.getElementById('chatbotModal'); | |
| if (testModal && !testModal.classList.contains('hidden')) { | |
| if (e.target === testModal) { | |
| closeTestModal(); | |
| } | |
| } | |
| if (chatbotModal && !chatbotModal.classList.contains('hidden')) { | |
| if (e.target === chatbotModal) { | |
| closeChatbot(); | |
| } | |
| } | |
| }); | |
| // Initialize app | |
| console.log('APK Tester Pro loaded successfully'); |