Skip to content

Commit c5a5014

Browse files
committed
aviso de desenvolvimento inicial
1 parent 70eb1be commit c5a5014

2 files changed

Lines changed: 107 additions & 10 deletions

File tree

Script/privacy-consent.js

Lines changed: 63 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,47 @@
33

44
class PrivacyConsent {
55
constructor() {
6+
console.log('🔒 [PRIVACY] 🚀 Construtor PrivacyConsent chamado');
67
this.consentVersion = '1.0';
78
this.consentKey = 'sia_privacy_consent';
89
this.consentData = this.loadConsent();
10+
console.log('🔒 [PRIVACY] Configuração inicial:', {
11+
version: this.consentVersion,
12+
key: this.consentKey,
13+
readyState: document.readyState
14+
});
915

1016
// Inicializar após carregamento da página
1117
if (document.readyState === 'loading') {
18+
console.log('🔒 [PRIVACY] Aguardando DOMContentLoaded...');
1219
document.addEventListener('DOMContentLoaded', () => this.init());
1320
} else {
21+
console.log('🔒 [PRIVACY] DOM já carregado, inicializando agora...');
1422
this.init();
1523
}
1624
}
1725

1826
init() {
27+
console.log('🔒 [PRIVACY] Iniciando sistema de privacidade...');
28+
1929
// Carregar consentimento existente primeiro
2030
this.consentData = this.loadConsent();
31+
console.log('🔒 [PRIVACY] Consentimento carregado:', this.consentData);
2132

2233
// Verificar se precisa mostrar banner
34+
console.log('🔒 [PRIVACY] Versão atual:', this.consentVersion);
2335
this.checkConsentRequired();
2436
this.setupPrivacyNotifications();
2537

2638
// DEBUG: Adicionar função global para testar banner
2739
window.showPrivacyBanner = () => {
40+
console.log('🔒 [DEBUG] Forçando exibição do banner...');
2841
localStorage.removeItem(this.consentKey);
2942
this.consentData = null;
3043
this.showConsentBanner();
3144
};
3245

33-
console.log('🔒 Sistema de privacidade inicializado');
46+
console.log('🔒 [PRIVACY] Sistema de privacidade inicializado');
3447
}
3548

3649
loadConsent() {
@@ -45,6 +58,9 @@ class PrivacyConsent {
4558

4659
saveConsent(consentData) {
4760
try {
61+
console.log('🔒 [PRIVACY] 💾 Salvando consentimento...');
62+
console.log('🔒 [PRIVACY] Dados recebidos:', consentData);
63+
4864
const consentRecord = {
4965
version: this.consentVersion,
5066
timestamp: new Date().toISOString(),
@@ -56,17 +72,23 @@ class PrivacyConsent {
5672
}
5773
};
5874

75+
console.log('🔒 [PRIVACY] Registro completo:', consentRecord);
76+
console.log('🔒 [PRIVACY] Chave localStorage:', this.consentKey);
77+
5978
localStorage.setItem(this.consentKey, JSON.stringify(consentRecord));
6079
this.consentData = consentRecord;
6180

81+
console.log('🔒 [PRIVACY] ✅ Consentimento salvo no localStorage');
82+
6283
// Log seguro do consentimento
6384
if (window.DataProtection) {
6485
window.DataProtection.secureLog('Consentimento registrado', 'privacy');
86+
console.log('🔒 [PRIVACY] Log de segurança registrado');
6587
}
6688

6789
return true;
6890
} catch (error) {
69-
console.error('Erro ao salvar consentimento:', error);
91+
console.error('🔒 [PRIVACY] ❌ Erro ao salvar consentimento:', error);
7092
return false;
7193
}
7294
}
@@ -77,22 +99,34 @@ class PrivacyConsent {
7799
}
78100

79101
checkConsentRequired() {
102+
console.log('🔒 [PRIVACY] Verificando necessidade de consentimento...');
103+
console.log('🔒 [PRIVACY] Dados atuais:', this.consentData);
104+
console.log('🔒 [PRIVACY] Versão esperada:', this.consentVersion);
105+
80106
// Verificar se precisa mostrar banner de consentimento
81107
if (!this.consentData || this.consentData.version !== this.consentVersion) {
108+
console.log('🔒 [PRIVACY] ⚠️ Banner necessário - mostrando agora...');
82109
this.showConsentBanner();
110+
} else {
111+
console.log('🔒 [PRIVACY] ✅ Consentimento já existe e está atualizado');
83112
}
84113
}
85114

86115
showConsentBanner() {
116+
console.log('🔒 [PRIVACY] 🎯 Criando banner de consentimento...');
117+
87118
// Remover banner existente se houver
88119
const existingBanner = document.getElementById('privacy-consent-banner');
89120
if (existingBanner) {
121+
console.log('🔒 [PRIVACY] Removendo banner existente...');
90122
existingBanner.remove();
91123
}
92124

93125
const banner = document.createElement('div');
94126
banner.id = 'privacy-consent-banner';
95127
banner.className = 'privacy-consent-banner';
128+
console.log('🔒 [PRIVACY] Banner criado, adicionando HTML...');
129+
96130
banner.innerHTML = `
97131
<div class="consent-content">
98132
<div class="consent-icon">🔒</div>
@@ -221,27 +255,38 @@ class PrivacyConsent {
221255
`;
222256

223257
document.body.appendChild(banner);
258+
console.log('🔒 [PRIVACY] ✅ Banner adicionado ao DOM');
224259

225260
// Adicionar event listeners para o banner
226261
setTimeout(() => {
262+
console.log('🔒 [PRIVACY] Configurando event listeners...');
227263
const essentialBtn = document.getElementById('essential-only-btn');
228264
const customizeBtn = document.getElementById('customize-btn');
229265
const acceptAllBtn = document.getElementById('accept-all-btn');
230266

267+
console.log('🔒 [PRIVACY] Botões encontrados:', {
268+
essential: !!essentialBtn,
269+
customize: !!customizeBtn,
270+
acceptAll: !!acceptAllBtn
271+
});
272+
231273
if (essentialBtn) {
232274
essentialBtn.addEventListener('click', () => {
275+
console.log('🔒 [PRIVACY] Clique em "Essencial Only"');
233276
this.acceptEssentialOnly();
234277
});
235278
}
236279

237280
if (customizeBtn) {
238281
customizeBtn.addEventListener('click', () => {
282+
console.log('🔒 [PRIVACY] Clique em "Personalizar"');
239283
this.showPrivacySettings();
240284
});
241285
}
242286

243287
if (acceptAllBtn) {
244288
acceptAllBtn.addEventListener('click', () => {
289+
console.log('🔒 [PRIVACY] Clique em "Aceitar Todos"');
245290
this.acceptAll();
246291
});
247292
}
@@ -250,14 +295,17 @@ class PrivacyConsent {
250295

251296
// Novas funções LGPD
252297
acceptEssentialOnly() {
298+
console.log('🔒 [PRIVACY] 🎯 Aceitando apenas essenciais...');
253299
const essentialConsent = {
254300
essential: true,
255301
analytics: false,
256302
marketing: false,
257303
functional: false
258304
};
259305

306+
console.log('🔒 [PRIVACY] Configurações:', essentialConsent);
260307
const success = this.saveConsent(essentialConsent);
308+
console.log('🔒 [PRIVACY] Salvamento:', success ? 'SUCESSO' : 'ERRO');
261309

262310
if (success) {
263311
this.hideConsentBanner();
@@ -267,14 +315,17 @@ class PrivacyConsent {
267315
}
268316

269317
acceptAll() {
318+
console.log('🔒 [PRIVACY] 🎯 Aceitando todas as configurações...');
270319
const fullConsent = {
271320
essential: true,
272321
analytics: true,
273322
marketing: true,
274323
functional: true
275324
};
276325

326+
console.log('🔒 [PRIVACY] Configurações:', fullConsent);
277327
const success = this.saveConsent(fullConsent);
328+
console.log('🔒 [PRIVACY] Salvamento:', success ? 'SUCESSO' : 'ERRO');
278329

279330
if (success) {
280331
this.hideConsentBanner();
@@ -688,10 +739,17 @@ class PrivacyConsent {
688739
}
689740

690741
hideConsentBanner() {
742+
console.log('🔒 [PRIVACY] 🚪 Ocultando banner de consentimento...');
691743
const banner = document.getElementById('privacy-consent-banner');
692744
if (banner) {
745+
console.log('🔒 [PRIVACY] Banner encontrado, removendo...');
693746
banner.style.transform = 'translateY(100%)';
694-
setTimeout(() => banner.remove(), 300);
747+
setTimeout(() => {
748+
banner.remove();
749+
console.log('🔒 [PRIVACY] ✅ Banner removido do DOM');
750+
}, 300);
751+
} else {
752+
console.log('🔒 [PRIVACY] ⚠️ Banner não encontrado no DOM');
695753
}
696754
}
697755

@@ -768,4 +826,6 @@ class PrivacyConsent {
768826
}
769827

770828
// Inicializar sistema de consentimento
829+
console.log('🔒 [PRIVACY] 🎯 Criando instância global do PrivacyConsent...');
771830
window.privacyConsent = new PrivacyConsent();
831+
console.log('🔒 [PRIVACY] ✅ Instância criada e disponível globalmente');

index.html

Lines changed: 44 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,20 @@ <h3 id="userName">Bem-vindo!</h3>
153153
</div>
154154
</div>
155155

156+
<!-- Modal de Aviso do Projeto -->
157+
<div id="projectNoticeModal" class="modal" style="display:none;">
158+
<div class="modal-content" style="max-width: 420px; text-align: center;">
159+
<span class="close" id="closeProjectNotice" style="float:right; font-size:2rem; cursor:pointer;">&times;</span>
160+
<h2 style="margin-top:0;">🚧 Projeto Educacional 🚧</h2>
161+
<p style="margin: 1.5rem 0; font-size:1.1rem;">
162+
Este site é um projeto <b>gratuito</b> para ensinar <b>segurança da informação</b> a todos.<br><br>
163+
<b>Atenção:</b> O sistema ainda está em <b>desenvolvimento inicial</b>.<br>
164+
Use à vontade, compartilhe e envie feedback!
165+
</p>
166+
<button id="closeNoticeBtn" style="background: var(--primary-color, #007bff); color: #fff; border: none; padding: 0.7rem 2rem; border-radius: 5px; font-size: 1rem; cursor: pointer;">OK, entendi</button>
167+
</div>
168+
</div>
169+
156170
<footer>
157171
<div class="container">
158172
<div class="footer-content">
@@ -199,12 +213,35 @@ <h3 id="userName">Bem-vindo!</h3>
199213
window.firebase = firebase;
200214
</script>
201215

202-
<script src="Script/privacy-consent.js?v=1754072838"></script>
203-
<script src="Script/data-protection.js?v=1754072838"></script>
204-
<script src="Script/data-auditor.js?v=1754072838"></script>
205-
<script src="Script/security.js?v=1754072838"></script>
206-
<script src="Script/user-account.js?v=1754072838"></script>
207-
<script src="Script/login-system.js?v=1754072838"></script>
208-
<script src="Script/index.js?v=1754072838"></script>
216+
<script src="Script/privacy-consent.js?v=1754073235"></script>
217+
<script src="Script/data-protection.js?v=1754073235"></script>
218+
<script src="Script/data-auditor.js?v=1754073235"></script>
219+
<script src="Script/security.js?v=1754073235"></script>
220+
<script src="Script/user-account.js?v=1754073235"></script>
221+
<script src="Script/login-system.js?v=1754073235"></script>
222+
<script src="Script/index.js?v=1754073235"></script>
223+
224+
<script>
225+
// Exibir modal de aviso ao entrar no site
226+
window.addEventListener('DOMContentLoaded', function() {
227+
var modal = document.getElementById('projectNoticeModal');
228+
var closeBtn = document.getElementById('closeNoticeBtn');
229+
var closeX = document.getElementById('closeProjectNotice');
230+
if (modal) {
231+
modal.style.display = 'block';
232+
document.body.style.overflow = 'hidden';
233+
}
234+
function closeModal() {
235+
modal.style.display = 'none';
236+
document.body.style.overflow = '';
237+
}
238+
if (closeBtn) closeBtn.onclick = closeModal;
239+
if (closeX) closeX.onclick = closeModal;
240+
// Fechar ao clicar fora do modal
241+
window.onclick = function(event) {
242+
if (event.target === modal) closeModal();
243+
};
244+
});
245+
</script>
209246
</body>
210247
</html>

0 commit comments

Comments
 (0)