File size: 1,993 Bytes
37baacf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dcca700
 
 
37baacf
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
// Shared JavaScript across all pages
console.log('AnomalyNinja loaded');
// AI Assistant functionality
function initAIAssistant() {
  const assistant = document.querySelector('ai-assistant');
  if (assistant) {
    const shadow = assistant.shadowRoot;
    const input = shadow.querySelector('.assistant-input');
    const messages = shadow.querySelector('.assistant-messages');
    
    input.addEventListener('keypress', (e) => {
      if (e.key === 'Enter' && input.value.trim()) {
        const userMessage = document.createElement('div');
        userMessage.innerHTML = `<div style="text-align: right; margin-bottom: 0.5rem;">
          <span style="background: #4f46e5; padding: 0.5rem 1rem; border-radius: 12px; display: inline-block;">
            ${input.value}
          </span>
        </div>`;
        messages.appendChild(userMessage);
        
        // Simulate AI response
        setTimeout(() => {
          const aiMessage = document.createElement('div');
          aiMessage.innerHTML = `<div style="text-align: left; margin-bottom: 0.5rem;">
            <span style="background: #374151; padding: 0.5rem 1rem; border-radius: 12px; display: inline-block;">
              I've analyzed your database logs and found 3 potential SQL injection attempts in the last hour. Would you like me to show you the details?
            </span>
          </div>`;
          messages.appendChild(aiMessage);
          messages.scrollTop = messages.scrollHeight;
        }, 1000);
        
        input.value = '';
      }
    });
  }
}

// Theme toggle functionality
document.addEventListener('DOMContentLoaded', () => {
    initAIAssistant();
    
    const themeToggle = document.getElementById('theme-toggle');
if (themeToggle) {
        themeToggle.addEventListener('click', () => {
            document.documentElement.classList.toggle('dark');
            localStorage.setItem('theme', document.documentElement.classList.contains('dark') ? 'dark' : 'light');
        });
    }
});