diff --git a/src/components/whatsappGroups/CreateGroupForm.tsx b/src/components/whatsappGroups/CreateGroupForm.tsx
index 39e22b2..425ec0d 100644
--- a/src/components/whatsappGroups/CreateGroupForm.tsx
+++ b/src/components/whatsappGroups/CreateGroupForm.tsx
@@ -4,6 +4,7 @@ import { useGroupCreation } from '@/hooks/whatsappGroups/useGroupCreation';
import LoadingState from './LoadingState';
import NoInstanceState from './NoInstanceState';
import GroupCreationForm from './GroupCreationForm';
+import { useEffect } from 'react';
interface CreateGroupFormProps {
userEmail: string;
@@ -11,18 +12,47 @@ interface CreateGroupFormProps {
}
const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => {
- const { hasWhatsAppInstance, checkingInstance, userInstance } = useWhatsAppInstanceVerification(userEmail);
+ const {
+ hasWhatsAppInstance,
+ checkingInstance,
+ userInstance,
+ recheckInstance
+ } = useWhatsAppInstanceVerification(userEmail);
+
const { cadastrando, handleCadastrarGrupo } = useGroupCreation(userEmail, onSuccess);
+ // Re-verificar a instância quando o componente for montado ou quando houver mudanças
+ useEffect(() => {
+ console.log('🔄 [GRUPO] CreateGroupForm montado, verificando instância');
+ recheckInstance();
+ }, [userEmail]);
+
+ // Log detalhado do estado atual
+ useEffect(() => {
+ console.log('📊 [GRUPO] Estado atual do CreateGroupForm:', {
+ userEmail,
+ hasWhatsAppInstance,
+ checkingInstance,
+ userInstance,
+ instanceStatus: userInstance?.status_instancia,
+ instanceName: userInstance?.instancia_zap
+ });
+ }, [userEmail, hasWhatsAppInstance, checkingInstance, userInstance]);
+
if (checkingInstance) {
+ console.log('⏳ [GRUPO] Verificando instância WhatsApp...');
return ;
}
if (!hasWhatsAppInstance) {
+ console.log('❌ [GRUPO] Instância WhatsApp não encontrada ou não conectada');
return ;
}
+ console.log('✅ [GRUPO] Instância válida encontrada, mostrando formulário de criação');
+
const handleSubmit = (nomeGrupo: string) => {
+ console.log('🚀 [GRUPO] Iniciando criação de grupo:', nomeGrupo);
handleCadastrarGrupo(nomeGrupo, userInstance);
};
diff --git a/src/components/whatsappGroups/NoInstanceState.tsx b/src/components/whatsappGroups/NoInstanceState.tsx
index eaf701e..8854e44 100644
--- a/src/components/whatsappGroups/NoInstanceState.tsx
+++ b/src/components/whatsappGroups/NoInstanceState.tsx
@@ -1,7 +1,9 @@
import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card';
import { Alert, AlertDescription } from '@/components/ui/alert';
-import { AlertCircle } from 'lucide-react';
+import { MessageCircle, AlertTriangle } from 'lucide-react';
+import { Button } from '@/components/ui/button';
+import { useNavigate } from 'react-router-dom';
interface NoInstanceStateProps {
userInstance: {
@@ -12,35 +14,72 @@ interface NoInstanceStateProps {
}
const NoInstanceState = ({ userInstance }: NoInstanceStateProps) => {
+ const navigate = useNavigate();
+
+ const handleGoToWhatsApp = () => {
+ navigate('/whatsapp');
+ };
+
return (
- Cadastrar novo grupo
+
+
+ WhatsApp não conectado
+
- Para criar um grupo é necessário ter uma instância do WhatsApp conectada
+ Para criar grupos, você precisa ter uma instância WhatsApp conectada
-
-
-
+
+
+
- {userInstance && userInstance.instancia_zap && userInstance.status_instancia !== 'conectado' ? (
- <>
- Sua instância WhatsApp {userInstance.instancia_zap} está desconectada.
- Acesse o menu "Conectar WhatsApp" e escaneie o QR Code para conectar sua instância.
-
-
- Status atual: {userInstance.status_instancia}
-
- >
+ {userInstance ? (
+ userInstance.status_instancia === 'desconectado' ? (
+ <>
+ Sua instância WhatsApp está desconectada.
+ Você precisa reconectar para criar grupos.
+ >
+ ) : (
+ <>
+ Instância encontrada, mas status: {userInstance.status_instancia || 'desconhecido'}.
+ Para criar grupos, o status deve ser "conectado".
+ >
+ )
) : (
- <>
- Para criar um grupo é necessário ter sua instância do WhatsApp conectada.
- Acesse o menu "Conectar WhatsApp" e realize a conexão primeiro.
- >
+ 'Nenhuma instância WhatsApp encontrada. Você precisa criar e conectar uma instância primeiro.'
)}
+
+ {userInstance && (
+