Fix: Enable "Cadastrar Grupo" button
The "Cadastrar Grupo" button in the Grupos menu was not enabled after connecting a WhatsApp instance. This commit reviews the logic in `CreateGroupForm.tsx` to ensure the button is correctly enabled when a WhatsApp instance is connected and the user is logged in.
This commit is contained in:
parent
417c24089b
commit
ead6400404
@ -31,19 +31,30 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => {
|
|||||||
// Verificar se o usuário tem instância WhatsApp
|
// Verificar se o usuário tem instância WhatsApp
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const checkUserInstance = async () => {
|
const checkUserInstance = async () => {
|
||||||
if (!userEmail) return;
|
if (!userEmail) {
|
||||||
|
console.log('Email do usuário não fornecido');
|
||||||
|
setCheckingInstance(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
setCheckingInstance(true);
|
setCheckingInstance(true);
|
||||||
try {
|
try {
|
||||||
|
console.log('Verificando instância para o usuário:', userEmail);
|
||||||
const instanceData = await getUserWhatsAppInstance(userEmail);
|
const instanceData = await getUserWhatsAppInstance(userEmail);
|
||||||
console.log('Dados da instância do usuário:', instanceData);
|
console.log('Dados da instância do usuário:', instanceData);
|
||||||
|
|
||||||
if (instanceData && instanceData.instancia_zap && instanceData.instancia_zap.trim() !== '') {
|
if (instanceData &&
|
||||||
|
instanceData.instancia_zap &&
|
||||||
|
instanceData.instancia_zap.trim() !== '' &&
|
||||||
|
instanceData.whatsapp &&
|
||||||
|
instanceData.whatsapp.trim() !== '') {
|
||||||
setHasWhatsAppInstance(true);
|
setHasWhatsAppInstance(true);
|
||||||
setUserInstance(instanceData);
|
setUserInstance(instanceData);
|
||||||
|
console.log('Usuário tem instância WhatsApp válida');
|
||||||
} else {
|
} else {
|
||||||
setHasWhatsAppInstance(false);
|
setHasWhatsAppInstance(false);
|
||||||
setUserInstance(null);
|
setUserInstance(null);
|
||||||
|
console.log('Usuário não tem instância WhatsApp válida ou dados estão incompletos');
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Erro ao verificar instância do usuário:', error);
|
console.error('Erro ao verificar instância do usuário:', error);
|
||||||
@ -184,6 +195,15 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => {
|
|||||||
Acesse o menu de conexão e realize este processo primeiro.
|
Acesse o menu de conexão e realize este processo primeiro.
|
||||||
</AlertDescription>
|
</AlertDescription>
|
||||||
</Alert>
|
</Alert>
|
||||||
|
|
||||||
|
{/* Debug info para ajudar a identificar o problema */}
|
||||||
|
<div className="mt-4 p-4 bg-gray-100 rounded text-sm">
|
||||||
|
<p><strong>Debug Info:</strong></p>
|
||||||
|
<p>Email: {userEmail || 'Não definido'}</p>
|
||||||
|
<p>Instância: {userInstance?.instancia_zap || 'Não encontrada'}</p>
|
||||||
|
<p>WhatsApp: {userInstance?.whatsapp || 'Não encontrado'}</p>
|
||||||
|
<p>Status: {userInstance?.status_instancia || 'Não definido'}</p>
|
||||||
|
</div>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
@ -198,6 +218,16 @@ const CreateGroupForm = ({ userEmail, onSuccess }: CreateGroupFormProps) => {
|
|||||||
</CardDescription>
|
</CardDescription>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
<CardContent className="space-y-4">
|
<CardContent className="space-y-4">
|
||||||
|
{/* Mostrar informações da instância conectada */}
|
||||||
|
<div className="bg-green-50 border border-green-200 rounded p-3 text-sm">
|
||||||
|
<p className="text-green-800">
|
||||||
|
<strong>✓ Instância conectada:</strong> {userInstance?.instancia_zap}
|
||||||
|
</p>
|
||||||
|
<p className="text-green-700">
|
||||||
|
Status: {userInstance?.status_instancia}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div className="space-y-2">
|
<div className="space-y-2">
|
||||||
<Label htmlFor="nomeGrupo">Nome do grupo</Label>
|
<Label htmlFor="nomeGrupo">Nome do grupo</Label>
|
||||||
<Input
|
<Input
|
||||||
|
|||||||
@ -39,17 +39,20 @@ export async function getUserWhatsAppInstance(userEmail: string): Promise<{
|
|||||||
whatsapp: string | null;
|
whatsapp: string | null;
|
||||||
} | null> {
|
} | null> {
|
||||||
try {
|
try {
|
||||||
|
console.log('Buscando instância para o email:', userEmail);
|
||||||
|
|
||||||
const { data, error } = await supabase
|
const { data, error } = await supabase
|
||||||
.from('usuarios')
|
.from('usuarios')
|
||||||
.select('instancia_zap, status_instancia, whatsapp')
|
.select('instancia_zap, status_instancia, whatsapp')
|
||||||
.eq('email', userEmail.trim().toLowerCase())
|
.eq('email', userEmail.trim().toLowerCase())
|
||||||
.single();
|
.maybeSingle(); // Use maybeSingle em vez de single para evitar erro quando não encontrar
|
||||||
|
|
||||||
if (error) {
|
if (error) {
|
||||||
console.error('Erro ao buscar instância WhatsApp:', error);
|
console.error('Erro ao buscar instância WhatsApp:', error);
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
console.log('Dados da instância encontrados:', data);
|
||||||
return data;
|
return data;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Erro ao buscar instância WhatsApp:', error);
|
console.error('Erro ao buscar instância WhatsApp:', error);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user