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) => {
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} +
+ )}