diff --git a/src/components/whatsappGroups/CreateGroupForm.tsx b/src/components/whatsappGroups/CreateGroupForm.tsx index 64984c9..72c4b7f 100644 --- a/src/components/whatsappGroups/CreateGroupForm.tsx +++ b/src/components/whatsappGroups/CreateGroupForm.tsx @@ -28,7 +28,7 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { whatsapp: string | null; } | null>(null); - // Verificar se o usuário tem instância WhatsApp + // Verificar se o usuário tem instância WhatsApp CONECTADA useEffect(() => { const checkUserInstance = async () => { if (!userEmail) { @@ -43,18 +43,25 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { const instanceData = await getUserWhatsAppInstance(userEmail); console.log('Dados da instância do usuário:', instanceData); - if (instanceData && - instanceData.instancia_zap && - instanceData.instancia_zap.trim() !== '' && - instanceData.whatsapp && - instanceData.whatsapp.trim() !== '') { + // LÓGICA CORRETA: Verificar se tem instância E se está conectada + const hasValidInstance = !!( + instanceData && + instanceData.instancia_zap && + instanceData.instancia_zap.trim() !== '' && + instanceData.status_instancia === 'conectado' // DEVE ESTAR CONECTADO + ); + + if (hasValidInstance) { setHasWhatsAppInstance(true); setUserInstance(instanceData); - console.log('Usuário tem instância WhatsApp válida'); + console.log('Usuário tem instância WhatsApp conectada - liberando cadastro de grupo'); } else { setHasWhatsAppInstance(false); - setUserInstance(null); - console.log('Usuário não tem instância WhatsApp válida ou dados estão incompletos'); + setUserInstance(instanceData); + console.log('Usuário não tem instância conectada:', { + instancia_zap: instanceData?.instancia_zap, + status_instancia: instanceData?.status_instancia + }); } } catch (error) { console.error('Erro ao verificar instância do usuário:', error); @@ -88,10 +95,10 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { return; } - if (!userInstance || !userInstance.instancia_zap || !userInstance.whatsapp) { + if (!userInstance || !userInstance.instancia_zap || userInstance.status_instancia !== 'conectado') { toast({ title: 'Erro', - description: 'Dados da instância WhatsApp não encontrados', + description: 'Instância WhatsApp não está conectada', variant: 'destructive', }); return; @@ -113,7 +120,7 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { const groupResponse = await createWhatsAppGroup( userInstance.instancia_zap, userEmail, - userInstance.whatsapp + userInstance.whatsapp || '' ); console.log('Resposta da criação do grupo:', groupResponse); @@ -191,18 +198,23 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => { - Para criar um grupo é necessário cadastrar e conectar sua instância do WhatsApp. - Acesse o menu de conexão e realize este processo primeiro. + Para criar um grupo é necessário ter sua instância do WhatsApp conectada. + Acesse o menu "Conectar WhatsApp" e realize a conexão primeiro. - {/* Debug info para ajudar a identificar o problema */} + {/* Informações de debug */}
-

Debug Info:

+

Status da Instância:

Email: {userEmail || 'Não definido'}

Instância: {userInstance?.instancia_zap || 'Não encontrada'}

-

WhatsApp: {userInstance?.whatsapp || 'Não encontrado'}

Status: {userInstance?.status_instancia || 'Não definido'}

+

WhatsApp: {userInstance?.whatsapp || 'Não encontrado'}

+ {userInstance?.instancia_zap && userInstance?.status_instancia !== 'conectado' && ( +

+ ⚠️ Instância encontrada, mas não está conectada. Status atual: {userInstance.status_instancia} +

+ )}