diff --git a/src/components/auth/SocialLoginButtons.tsx b/src/components/auth/SocialLoginButtons.tsx index ec0008f..8c8eb2f 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 - SEMPRE para /dashboard + // Determinar a URL de redirecionamento correta baseada no hostname let redirectUrl; const hostname = window.location.hostname; if (hostname === 'localhost') { - redirectUrl = 'http://localhost:3000/dashboard'; + redirectUrl = 'http://localhost:3000/'; } else if (hostname.includes('financehome.innova1001.com.br')) { - redirectUrl = 'https://financehome.innova1001.com.br/dashboard'; + redirectUrl = 'https://financehome.innova1001.com.br/'; } else if (hostname.includes('lovableproject.com')) { - redirectUrl = `${window.location.origin}/dashboard`; + redirectUrl = `${window.location.origin}/`; } else { - // Fallback para qualquer outro domínio - sempre para dashboard - redirectUrl = `${window.location.origin}/dashboard`; + // Fallback para qualquer outro domínio + redirectUrl = `${window.location.origin}/`; } - console.log('🔗 URL de redirecionamento (DASHBOARD):', redirectUrl); + console.log('🔗 URL de redirecionamento:', 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 6582fa0..b83ca16 100644 --- a/src/components/whatsappGroups/CreateGroupFormSimple.tsx +++ b/src/components/whatsappGroups/CreateGroupFormSimple.tsx @@ -73,32 +73,34 @@ const CreateGroupFormSimple = ({ userEmail, onSuccess }: CreateGroupFormProps) = await createWorkflowInN8n(userEmail); - // 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 + // 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: 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 + // 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 + } } setMensagemStatus({ diff --git a/src/hooks/whatsapp/useInstanceCreation.ts b/src/hooks/whatsapp/useInstanceCreation.ts index 70a0486..64545a7 100644 --- a/src/hooks/whatsapp/useInstanceCreation.ts +++ b/src/hooks/whatsapp/useInstanceCreation.ts @@ -3,6 +3,7 @@ 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 = ( @@ -74,10 +75,22 @@ export const useInstanceCreation = ( }); console.log('✅ [INSTÂNCIA] Instância registrada no banco de dados com status "conectado"'); - // 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'); + // 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", + }); + } - // 3. Criar objeto da instância + // 4. Criar objeto da instância const newInstance: WhatsAppInstance = { instanceName, instanceId: instanceName, @@ -90,23 +103,23 @@ export const useInstanceCreation = ( console.log('✅ [INSTÂNCIA] Nova instância criada:', newInstance); - // 4. Atualizar estado para evitar nova criação + // 5. Atualizar estado para evitar nova criação setHasExistingInstance(true); setExistingInstanceData({ instancia_zap: instanceName, status_instancia: 'conectado' }); - // 5. Notificar componente pai + // 6. Notificar componente pai onInstanceCreated(newInstance); - // 6. Forçar um pequeno delay para garantir que o banco foi atualizado + // 7. 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 com sucesso! Agora você pode criar grupos.", + description: "Instância do WhatsApp criada e ativada com sucesso! Agora você pode criar grupos.", duration: 5000 });