File size: 1,526 Bytes
3376581 |
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 |
// View management
function setView(view) {
document.querySelectorAll('[id$="-view"]').forEach(el => {
el.classList.add('hidden');
});
document.getElementById(`${view}-view`).classList.remove('hidden');
// Update active state in sidebar
document.querySelectorAll('custom-sidebar').forEach(sidebar => {
sidebar.setAttribute('active-view', view);
});
}
// Chat functionality
let messages = [];
function sendMessage() {
const input = document.getElementById('chat-input');
if (!input.value.trim()) return;
// Add user message
const userMessage = {
id: Date.now(),
user: 'Vous',
type: 'user',
text: input.value,
time: new Date().toLocaleTimeString('fr-FR', { hour: '2-digit', minute: '2-digit' })
};
messages.push(userMessage);
renderMessages();
input.value = '';
// Simulate AI response
setTimeout(() => {
const aiResponse = {
id: Date.now() + 1,
user: 'Rosalinda',
type: 'assistant',
text: generateResponse(input.value),
time: new Date().toLocaleTimeString('fr-FR', { hour: '2-digit', minute: '2-digit' })
};
messages.push(aiResponse);
renderMessages();
}, 1000);
}
function generateResponse(userInput) {
// This would be replaced with actual API calls to Claude or similar
if (userInput.includes('portfolio')) {
return "Voici un code HTML/CSS complet pour un portfolio professionnel:\n |