'); } }); /* ------------------------- Ações do painel de ajuda ------------------------- */ const openHelp = document.getElementById('openHelp'); const helpPanel = document.getElementById('helpPanel'); const closeHelp = document.getElementById('closeHelp'); const copyTips = document.getElementById('copyTips'); openHelp.addEventListener('click', () => { helpPanel.classList.remove('hidden'); helpPanel.setAttribute('aria-hidden','false'); }); closeHelp.addEventListener('click', () => { helpPanel.classList.add('hidden'); helpPanel.setAttribute('aria-hidden','true'); }); copyTips.addEventListener('click', () => { const dicas = [ 'Ver área: usa "Ver como visitante" para testar a experiência.', 'Imagens: preferir 800x600 e URLs HTTPS.', 'Desempenho: usar imagens otimizadas para reduzir o consumo de dados.', 'Segurança: faz validação do lado do servidor se integrares API.', 'Acessibilidade: originais rótulos e textos.' ].join('\\n- '); /* ------------------------- Inicialização ------------------------- */ (function init(){ // garante que os anúncios sejam carregados e classificados renderAds(); setVisitorUI(); // aplicação estado inicial })(); /* Expor funções no escopo global se necessário */ window.renderAds = renderAds; window.addAd = addAd; window.deleteAd = deleteAd; window.filterAds = filterAds; window.saveToLocalStorage = saveToLocalStorage; window.loadFromLocalStorage = loadFromLocalStorage; window.toggleVisitorMode = () => { isVisitorMode = !isVisitorMode; setVisitorUI(); }; '); } }); /* ------------------------- Ações do painel de ajuda ------------------------- */ const openHelp = document.getElementById('openHelp'); const helpPanel = document.getElementById('helpPanel'); const closeHelp = document.getElementById('closeHelp'); const copyTips = document.getElementById('copyTips'); openHelp.addEventListener('click', () => { helpPanel.classList.remove('hidden'); helpPanel.setAttribute('aria-hidden','false'); }); closeHelp.addEventListener('click', () => { helpPanel.classList.add('hidden'); helpPanel.setAttribute('aria-hidden','true'); }); copyTips.addEventListener('click', () => { const dicas = [ 'Ver área: usa "Ver como visitante" para testar a experiência.', 'Imagens: preferir 800x600 e URLs HTTPS.', 'Desempenho: usar imagens otimizadas para reduzir o consumo de dados.', 'Segurança: faz validação do lado do servidor se integrares API.', 'Acessibilidade: originais rótulos e textos.' ].join('\\n- '); /* ------------------------- Inicialização ------------------------- */ (function init(){ // garante que os anúncios sejam carregados e classificados renderAds(); setVisitorUI(); // aplicação estado inicial })(); /* Expor funções no escopo global se necessário */ window.renderAds = renderAds; window.addAd = addAd; window.deleteAd = deleteAd; window.filterAds = filterAds; window.saveToLocalStorage = saveToLocalStorage; window.loadFromLocalStorage = loadFromLocalStorage; window.toggleVisitorMode = () => { isVisitorMode = !isVisitorMode; setVisitorUI(); }; juntar('\\n- '); navigator.clipboard?.writeText(tips).then(() => { alert('Dicas copiadas para a área de transferência.'); }).catch(()=> { alert('Não foi possível copiar — copiar manualmente: ' + dicas); }); }); /* ------------------------- Inicialização ------------------------- */ (function init(){ // garante que os anúncios sejam carregados e classificados renderAds(); setVisitorUI(); // aplicação estado inicial })(); /* Expor funções no escopo global se necessário */ window.renderAds = renderAds; janela.addAd = addAd; janela.deleteAd = deletarAd; window.filterAds = filterAds; window.saveToLocalStorage=saveToLocalStorage; window.loadFromLocalStorage = loadFromLocalStorage; window.toggleVisitorMode = () => { isVisitorMode = !isVisitorMode; setVisitorUI(); }; juntar('\\n- '); navigator.clipboard?.writeText(tips).then(() => { alert('Dicas copiadas para a área de transferência.'); }).catch(()=> { alert('Não foi possível copiar — copiar manualmente: ' + dicas); }); }); /* ------------------------- Inicialização ------------------------- */ (function init(){ // garante que os anúncios sejam carregados e classificados renderAds(); setVisitorUI(); // aplicação estado inicial })(); /* Expor funções no escopo global se necessário */ window.renderAds = renderAds; janela.addAd = addAd; janela.deleteAd = deletarAd; window.filterAds = filterAds; window.saveToLocalStorage=saveToLocalStorage; window.loadFromLocalStorage=loadFromLocalStorage; window.toggleVisitorMode = () => { isVisitorMode = !isVisitorMode; setVisitorUI(); };