diff --git a/src/hooks/whatsapp/useExistingInstanceCheck.ts b/src/hooks/whatsapp/useExistingInstanceCheck.ts index c866b07..5797d78 100644 --- a/src/hooks/whatsapp/useExistingInstanceCheck.ts +++ b/src/hooks/whatsapp/useExistingInstanceCheck.ts @@ -21,21 +21,26 @@ export const useExistingInstanceCheck = (userEmail: string) => { console.log('📋 Dados da instância encontrados:', existingInstance); - // Verificação rigorosa - deve ter instancia_zap válida - const hasValidInstance = !!( + // Verificação correta: deve ter instancia_zap igual ao email E status_instancia = 'conectado' + const hasValidConnectedInstance = !!( existingInstance && existingInstance.instancia_zap && existingInstance.instancia_zap.trim() !== '' && existingInstance.instancia_zap !== 'null' && - existingInstance.instancia_zap !== null + existingInstance.instancia_zap !== null && + existingInstance.instancia_zap.toLowerCase() === userEmail.toLowerCase() && + existingInstance.status_instancia === 'conectado' ); - console.log('✅ Usuário possui instância válida:', hasValidInstance, { + console.log('✅ Usuário possui instância conectada:', hasValidConnectedInstance, { instancia_zap: existingInstance?.instancia_zap, - status_instancia: existingInstance?.status_instancia + status_instancia: existingInstance?.status_instancia, + userEmail: userEmail, + instanceMatchesEmail: existingInstance?.instancia_zap?.toLowerCase() === userEmail.toLowerCase(), + isConnected: existingInstance?.status_instancia === 'conectado' }); - setHasExistingInstance(hasValidInstance); + setHasExistingInstance(hasValidConnectedInstance); setExistingInstanceData(existingInstance); } catch (error) { diff --git a/src/hooks/whatsappGroups/useWhatsAppInstanceVerification.ts b/src/hooks/whatsappGroups/useWhatsAppInstanceVerification.ts index 5ba0681..9c2b317 100644 --- a/src/hooks/whatsappGroups/useWhatsAppInstanceVerification.ts +++ b/src/hooks/whatsappGroups/useWhatsAppInstanceVerification.ts @@ -29,19 +29,23 @@ export const useWhatsAppInstanceVerification = (userEmail: string) => { console.log('📋 Dados da instância encontrados:', instanceData); if (instanceData) { - // Verificação rigorosa: deve ter instancia_zap válida E status conectado + // Verificação correta: deve ter instancia_zap igual ao email E status conectado const hasValidInstance = !!( instanceData && instanceData.instancia_zap && instanceData.instancia_zap.trim() !== '' && instanceData.instancia_zap !== 'null' && instanceData.instancia_zap !== null && + instanceData.instancia_zap.toLowerCase() === userEmail.toLowerCase() && instanceData.status_instancia === 'conectado' ); console.log('✅ Instância válida para criar grupos:', hasValidInstance, { instancia_zap: instanceData.instancia_zap, status_instancia: instanceData.status_instancia, + userEmail: userEmail, + instanceMatchesEmail: instanceData.instancia_zap?.toLowerCase() === userEmail.toLowerCase(), + isConnected: instanceData.status_instancia === 'conectado', hasValidInstance }); diff --git a/src/pages/WhatsApp.tsx b/src/pages/WhatsApp.tsx index c9b23fa..1f6cdff 100644 --- a/src/pages/WhatsApp.tsx +++ b/src/pages/WhatsApp.tsx @@ -57,7 +57,7 @@ const WhatsApp = () => { const userEmail = localStorage.getItem('userEmail') || ''; - // Verificar se o usuário tem instância válida no banco de dados + // Verificar se o usuário tem instância válida conectada no banco de dados useEffect(() => { const checkUserInstanceFromDB = async () => { if (!userEmail) { @@ -70,20 +70,29 @@ const WhatsApp = () => { console.log('🔍 Verificando instância do usuário no banco:', userEmail); const instanceData = await getUserWhatsAppInstance(userEmail); - const hasInstance = !!( + // Lógica corrigida: instancia_zap deve ser igual ao email E status deve ser 'conectado' + const hasConnectedInstance = !!( instanceData && instanceData.instancia_zap && instanceData.instancia_zap.trim() !== '' && instanceData.instancia_zap !== 'null' && - instanceData.instancia_zap !== null + instanceData.instancia_zap !== null && + instanceData.instancia_zap.toLowerCase() === userEmail.toLowerCase() && + instanceData.status_instancia === 'conectado' ); - console.log('📋 Usuário tem instância válida:', hasInstance, instanceData); + console.log('📋 Verificação da instância:', { + instanceData, + userEmail, + instanceMatchesEmail: instanceData?.instancia_zap?.toLowerCase() === userEmail.toLowerCase(), + isConnected: instanceData?.status_instancia === 'conectado', + hasConnectedInstance + }); - setHasValidInstance(hasInstance); - setShowCreateForm(!hasInstance); + setHasValidInstance(hasConnectedInstance); + setShowCreateForm(!hasConnectedInstance); // Mostra formulário apenas se NÃO tiver instância conectada - if (hasInstance) { + if (hasConnectedInstance) { setInstanceFound(true); } @@ -182,7 +191,7 @@ const WhatsApp = () => { - {/* Show create form if user doesn't have a valid instance */} + {/* Show create form if user doesn't have a connected instance */} {showCreateForm && ( { /> )} - {/* Toggle Create Form Button - only show if form is hidden and user has instance */} + {/* Toggle Create Form Button - only show if form is hidden and user has connected instance */} {!showCreateForm && hasValidInstance && (