From 09ffd66b47bc06ad77e4088ed6cccde6a2da9aa0 Mon Sep 17 00:00:00 2001 From: "gpt-engineer-app[bot]" <159125892+gpt-engineer-app[bot]@users.noreply.github.com> Date: Tue, 1 Jul 2025 22:21:42 +0000 Subject: [PATCH] Fix: Redirect after Google login and webhook timing Redirect users to the dashboard after Google login. Move webhook calls for workflow and Evolution API activation to the "Cadastrar grupo" button click in CreateGroupFormSimple.tsx, removing them from instance creation. --- src/components/auth/SocialLoginButtons.tsx | 14 +++--- .../whatsappGroups/CreateGroupFormSimple.tsx | 50 +++++++++---------- src/hooks/whatsapp/useInstanceCreation.ts | 27 +++------- 3 files changed, 38 insertions(+), 53 deletions(-) diff --git a/src/components/auth/SocialLoginButtons.tsx b/src/components/auth/SocialLoginButtons.tsx index 8c8eb2f..ec0008f 100644 --- a/src/components/auth/SocialLoginButtons.tsx +++ b/src/components/auth/SocialLoginButtons.tsx @@ -14,22 +14,22 @@ const SocialLoginButtons = () => { console.log('🔐 Iniciando login com Google...'); console.log('🌐 URL atual:', window.location.origin); - // Determinar a URL de redirecionamento correta baseada no hostname + // Determinar a URL de redirecionamento correta baseada no hostname - SEMPRE para /dashboard let redirectUrl; const hostname = window.location.hostname; if (hostname === 'localhost') { - redirectUrl = 'http://localhost:3000/'; + redirectUrl = 'http://localhost:3000/dashboard'; } else if (hostname.includes('financehome.innova1001.com.br')) { - redirectUrl = 'https://financehome.innova1001.com.br/'; + redirectUrl = 'https://financehome.innova1001.com.br/dashboard'; } else if (hostname.includes('lovableproject.com')) { - redirectUrl = `${window.location.origin}/`; + redirectUrl = `${window.location.origin}/dashboard`; } else { - // Fallback para qualquer outro domínio - redirectUrl = `${window.location.origin}/`; + // Fallback para qualquer outro domínio - sempre para dashboard + redirectUrl = `${window.location.origin}/dashboard`; } - console.log('🔗 URL de redirecionamento:', redirectUrl); + console.log('🔗 URL de redirecionamento (DASHBOARD):', redirectUrl); const { data, error } = await supabase.auth.signInWithOAuth({ provider: 'google', diff --git a/src/components/whatsappGroups/CreateGroupFormSimple.tsx b/src/components/whatsappGroups/CreateGroupFormSimple.tsx index b83ca16..6582fa0 100644 --- a/src/components/whatsappGroups/CreateGroupFormSimple.tsx +++ b/src/components/whatsappGroups/CreateGroupFormSimple.tsx @@ -73,34 +73,32 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = await createWorkflowInN8n(userEmail); - // Ativar workflow (webhook ativarworkflow) APENAS UMA VEZ - if (!workflowAtivado) { - setMensagemStatus({ tipo: 'info', texto: 'Ativando workflow...' }); - - try { - console.log(`🔔 Enviando webhook ativarworkflow para usuário: ${userEmail}`); - await activateUserWorkflow(userEmail); - setWorkflowAtivado(true); - console.log('✅ Webhook ativarworkflow enviado com sucesso'); - } catch (workflowError) { - console.error('❌ Erro ao enviar webhook ativarworkflow:', workflowError); - // Continua mesmo se o webhook falhar - } + // AGORA SIM: Ativar workflow (webhook ativarworkflow) APENAS NO MOMENTO DE CADASTRAR GRUPO + console.log('🔔 [GRUPO] Enviando webhook ativarworkflow no momento do cadastro do grupo'); + setMensagemStatus({ tipo: 'info', texto: 'Ativando workflow...' }); + + try { + console.log(`🔔 Enviando webhook ativarworkflow para usuário: ${userEmail}`); + await activateUserWorkflow(userEmail); + setWorkflowAtivado(true); + console.log('✅ [GRUPO] Webhook ativarworkflow enviado com sucesso no cadastro do grupo'); + } catch (workflowError) { + console.error('❌ Erro ao enviar webhook ativarworkflow:', workflowError); + // Continua mesmo se o webhook falhar } - // Enviar webhook para N8N configurar webhook da Evolution API APENAS UMA VEZ - if (!webhookEnviado) { - setMensagemStatus({ tipo: 'info', texto: 'Configurando webhook...' }); - - try { - console.log(`🔔 Enviando email para N8N configurar webhook: ${userEmail}`); - await createEvolutionWebhook(userEmail); - setWebhookEnviado(true); - console.log('✅ Email enviado com sucesso para N8N'); - } catch (webhookError) { - console.error('❌ Erro ao enviar email para N8N:', webhookError); - // Continua mesmo se o webhook falhar - } + // AGORA SIM: Enviar webhook para N8N configurar webhook da Evolution API APENAS NO MOMENTO DE CADASTRAR GRUPO + console.log('🔔 [GRUPO] Enviando webhook de configuração no momento do cadastro do grupo'); + setMensagemStatus({ tipo: 'info', texto: 'Configurando webhook...' }); + + try { + console.log(`🔔 Enviando email para N8N configurar webhook: ${userEmail}`); + await createEvolutionWebhook(userEmail); + setWebhookEnviado(true); + console.log('✅ [GRUPO] Email enviado com sucesso para N8N no cadastro do grupo'); + } catch (webhookError) { + console.error('❌ Erro ao enviar email para N8N:', webhookError); + // Continua mesmo se o webhook falhar } setMensagemStatus({ diff --git a/src/hooks/whatsapp/useInstanceCreation.ts b/src/hooks/whatsapp/useInstanceCreation.ts index 64545a7..70a0486 100644 --- a/src/hooks/whatsapp/useInstanceCreation.ts +++ b/src/hooks/whatsapp/useInstanceCreation.ts @@ -3,7 +3,6 @@ import { useState } from 'react'; import { useToast } from '@/hooks/use-toast'; import { createWhatsAppInstance } from '@/services/whatsAppService'; import { updateUserWhatsAppInstance } from '@/services/whatsAppInstanceService'; -import { activateUserWorkflow } from '@/services/whatsAppInstance/workflowOperations'; import { WhatsAppInstance } from '@/types/whatsAppTypes'; export const useInstanceCreation = ( @@ -75,22 +74,10 @@ export const useInstanceCreation = ( }); console.log('✅ [INSTÂNCIA] Instância registrada no banco de dados com status "conectado"'); - // 3. Ativar o workflow do usuário no n8n - CORRIGINDO AQUI - console.log('🔄 [INSTÂNCIA] Passo 3: Ativando workflow do usuário no n8n...'); - try { - console.log(`🔔 Enviando webhook ativarworkflow para usuário: ${userEmail}`); - await activateUserWorkflow(userEmail); - console.log('✅ [INSTÂNCIA] Webhook ativarworkflow enviado com sucesso'); - } catch (workflowError) { - console.error('⚠️ [INSTÂNCIA] Erro ao enviar webhook ativarworkflow:', workflowError); - toast({ - title: "Aviso", - description: "Instância criada, mas houve um problema ao ativar a automação. Entre em contato com o suporte.", - variant: "destructive", - }); - } + // REMOVIDO: Envio de webhooks foi movido para o momento de "cadastrar grupo" + console.log('ℹ️ [INSTÂNCIA] Webhooks serão enviados apenas no momento de cadastrar grupos'); - // 4. Criar objeto da instância + // 3. Criar objeto da instância const newInstance: WhatsAppInstance = { instanceName, instanceId: instanceName, @@ -103,23 +90,23 @@ export const useInstanceCreation = ( console.log('✅ [INSTÂNCIA] Nova instância criada:', newInstance); - // 5. Atualizar estado para evitar nova criação + // 4. Atualizar estado para evitar nova criação setHasExistingInstance(true); setExistingInstanceData({ instancia_zap: instanceName, status_instancia: 'conectado' }); - // 6. Notificar componente pai + // 5. Notificar componente pai onInstanceCreated(newInstance); - // 7. Forçar um pequeno delay para garantir que o banco foi atualizado + // 6. Forçar um pequeno delay para garantir que o banco foi atualizado console.log('⏳ [INSTÂNCIA] Aguardando propagação das mudanças no banco...'); await new Promise(resolve => setTimeout(resolve, 2000)); toast({ title: "Sucesso!", - description: "Instância do WhatsApp criada e ativada com sucesso! Agora você pode criar grupos.", + description: "Instância do WhatsApp criada com sucesso! Agora você pode criar grupos.", duration: 5000 });