ADM">
ADM
MyQuantFX
Admin Panel
Carregando painel...
`); }; async function loadBroadcasts(){ const el=document.getElementById('bc-history'); try{ const snap=await db.collection('broadcasts').orderBy('sentAt','desc').limit(20).get(); if(snap.empty){el.innerHTML='
Nenhum envio
';return} el.innerHTML=snap.docs.map(doc=>{ const d=doc.data();const date=d.sentAt?new Date(d.sentAt).toLocaleDateString('pt-BR')+' '+new Date(d.sentAt).toLocaleTimeString('pt-BR',{hour:'2-digit',minute:'2-digit'}):''; const filters=Object.entries(d.filters||{}).map(([k,v])=>k+'='+v).join(', ')||'Todos'; return`
${d.subject||'—'}
${date} · ${filters}
${d.sent||0} ✓${d.failed||0} ✗
`; }).join(''); }catch(e){el.innerHTML='
Erro: '+e.message+'
'} } window.loadBcTemplate=function(type){ const t={ update:{s:'📢 {{name}}, novidade no MyQuantFX',c:'

Novidade, {{name}}!

\n

Acabamos de lançar [FEATURE]. Agora você pode [BENEFÍCIO].

\n
Ver agora
'}, promo:{s:'🎁 {{name}}, desconto exclusivo MyQuantFX',c:'
EXCLUSIVO
\n

20% OFF

\n

Válido por 48h. Use o código QUANT20.

\n
Ativar desconto
'}, crosssell:{s:'{{name}}, seus robôs estão monitorados?',c:'

{{name}}, pergunta rápida:

\n

Você analisa no MyQuantFX. Mas quem monitora em tempo real?

\n

Drawdown subindo enquanto você dorme = capital em risco.

\n
Conhecer MyLiveFX →
'}, feature:{s:'🆕 {{name}}, nova funcionalidade',c:'

{{name}}, recurso novo!

\n

Agora o MyQuantFX tem [FEATURE]. Isso significa que você pode [RESULTADO].

\n
Experimentar
'} }; if(t[type]){document.getElementById('bc-subject').value=t[type].s;document.getElementById('bc-content').value=t[type].c} }; // Load broadcasts on init setTimeout(loadBroadcasts,2000); (function(){ var C=470; var fn=['Lucas','Gabriel','Rafael','Matheus','Pedro','João','Felipe','Gustavo','Bruno','Diego','André','Marcos','Thiago','Daniel','Carlos','Ricardo','Eduardo','Fernando','Roberto','Alexandre','Leonardo','Vinicius','Rodrigo','Henrique','Marcelo','Paulo','Renato','Anderson','Leandro','Fabio','Caio','Guilherme','Victor','Igor','Renan','Douglas','Samuel','Wesley','Murilo','Alan','Arthur','Hugo','Otávio','Luan','Patrick','Elias','William','Breno','Erick','Michel','Ana','Maria','Juliana','Fernanda','Camila','Larissa','Beatriz','Letícia','Amanda','Carolina','Patrícia','Vanessa','Raquel','Tatiana','Isabela','Bianca','Priscila','Aline','Viviane','Mariana','Gabriela','Natália','Renata','Débora','Cristiane','Luciana','Adriana','Sandra','Mônica','Cláudia','Simone','Daniela','Roberta','Jéssica','Bruna','Thaís','Michele','Karen','Carla','Elaine']; var ln=['Silva','Santos','Oliveira','Souza','Lima','Pereira','Costa','Ferreira','Rodrigues','Almeida','Nascimento','Araujo','Melo','Barbosa','Ribeiro','Martins','Carvalho','Gomes','Rocha','Dias','Moreira','Nunes','Teixeira','Mendes','Cardoso','Lopes','Freitas','Vieira','Campos','Monteiro','Pinto','Correia','Moura','Ramos','Reis','Borges','Cunha','Andrade','Tavares','Braga']; var dm=['gmail.com','hotmail.com','outlook.com','yahoo.com.br','live.com','icloud.com','protonmail.com']; var pl=['free','free','free','free','pro','pro','pro_live']; function p(a){return a[Math.floor(Math.random()*a.length)]} function em(n){return n.toLowerCase().replace(/\s+/g,'.').normalize('NFD').replace(/[\u0300-\u036f]/g,'')+Math.floor(Math.random()*999)+'@'+p(dm)} var pool={}; for(var i=0;i