${(file.size / 1024).toFixed(2)} KB • Click to change file
`;
// Add AI message
addAIMessage(`Great! I've loaded "${file.name}". I can see it contains data with ${Math.floor(Math.random() * 1000) + 100} rows. What would you like to analyze?`);
}
}
// Run Code Function
function runCode(button) {
const codeCell = button.closest('.code-cell');
const output = codeCell.querySelector('.output');
const codeInput = codeCell.querySelector('.code-input');
output.style.display = 'block';
output.innerHTML = '';
setTimeout(() => {
// Simulate code execution
const cellType = codeCell.querySelector('.cell-type').textContent;
if (cellType === 'Python') {
output.innerHTML = `
`;
}
}, 1000);
}
// Chat Functions
function sendMessage() {
const input = document.getElementById('chatInput');
const message = input.value.trim();
if (message) {
addUserMessage(message);
input.value = '';
// Simulate AI response
setTimeout(() => {
const responses = [
"I've analyzed your data and found an upward trend in sales with a 15% month-over-month growth. The correlation between customer count and sales is 0.87, which is quite strong.",
"Here's a quick insight: Your best performing day is Tuesday with average sales 23% higher than other weekdays. Would you like me to create a visualization for this?",
"I can create a predictive model for your sales. Based on the current trend, next month's projected sales are $18,450 ± $1,200.",
"The data shows seasonal patterns. Q2 typically shows 30% higher performance. I can help you prepare for this trend."
];
const response = responses[Math.floor(Math.random() * responses.length)];
addAIMessage(response);
}, 1000);
}
}
function addUserMessage(message) {
const chatMessages = document.getElementById('chatMessages');
const messageDiv = document.createElement('div');
messageDiv.className = 'message user';
messageDiv.textContent = message;
chatMessages.appendChild(messageDiv);
chatMessages.scrollTop = chatMessages.scrollHeight;
}
function addAIMessage(message) {
const chatMessages = document.getElementById('chatMessages');
const messageDiv = document.createElement('div');
messageDiv.className = 'message ai';
messageDiv.innerHTML = message;
chatMessages.appendChild(messageDiv);
chatMessages.scrollTop = chatMessages.scrollHeight;
}
// Enter key support for chat
document.getElementById('chatInput').addEventListener('keypress', (e) => {
if (e.key === 'Enter') {
sendMessage();
}
});
// Tab switching
document.querySelectorAll('.tab').forEach(tab => {
tab.addEventListener('click', function() {
document.querySelectorAll('.tab').forEach(t => t.classList.remove('active'));
this.classList.add('active');
});
});
// Sidebar item switching
document.querySelectorAll('.sidebar-item').forEach(item => {
item.addEventListener('click', function() {
document.querySelectorAll('.sidebar-item').forEach(i => i.classList.remove('active'));
this.classList.add('active');
});
});