// 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 = `
${input.value}
`;
messages.appendChild(userMessage);
// Simulate AI response
setTimeout(() => {
const aiMessage = document.createElement('div');
aiMessage.innerHTML = `
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?
`;
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');
});
}
});