Meus Eventos

EVENTO DATA STATUS ATLETAS INSCRITOS % OCUPAÇÃO AÇÕES
Carregando eventos...
`r`n // Buscar eventos onde o usuário é organizador const evSnapOrganizador = await getDocs(query(collection(db, "events"), where("organizadorId", "==", user.uid))); // Buscar eventos onde o usuário é coorganizador const evSnapCoorganizador = await getDocs(query(collection(db, "events"), where("coorganizadores", "array-contains", user.uid))); // Buscar inscrições globais const insSnap = await getDocs(collection(db, "registrations")); const inscricoesPorEvento = {}; insSnap.forEach(ins => { const reg = ins.data(); if (!inscricoesPorEvento[reg.eventoId]) inscricoesPorEvento[reg.eventoId] = []; inscricoesPorEvento[reg.eventoId].push(reg); }); const container = document.getElementById('listaEventos'); container.innerHTML = ''; let totalEventos = 0; const eventosProcessados = new Set(); const processarEvento = (evDoc) => { if (eventosProcessados.has(evDoc.id)) return; eventosProcessados.add(evDoc.id); const ev = evDoc.data(); totalEventos++; // Contar inscritos e calcular % vagas disponíveis const inscritos = (inscricoesPorEvento[evDoc.id] || []).filter(reg => { const status = (reg.statusPagamento || reg.status || '').toString().toLowerCase(); return status !== 'cancelado' && status !== 'cancelada'; }); const totalInscritos = inscritos.length; let vagasDisponiveis = '-'; if (ev.vagas && !isNaN(ev.vagas) && ev.vagas > 0) { vagasDisponiveis = `${Math.max(0, 100 - Math.round((totalInscritos / ev.vagas) * 100))}%`; } container.innerHTML += ` ${ev.titulo} ${ev.modalidade || ''} ${ev.data || '-'} ${ev.status || 'Ativo'} ${totalInscritos} ${vagasDisponiveis} Gerenciar Editar `; }; evSnapOrganizador.forEach(processarEvento); evSnapCoorganizador.forEach(processarEvento); if (totalEventos === 0) { container.innerHTML = `
+

Nenhum evento cadastrado ainda

Criar Meu Primeiro Evento
`; } } catch (error) { const container = document.getElementById('listaEventos'); if (container) { container.innerHTML = `Erro ao carregar eventos.`; } } }); document.getElementById('btnLogout').onclick = () => signOut(auth).then(() => window.location.href = '../login.html'); `r`n