File size: 2,299 Bytes
3798087 3282f75 3798087 | 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 51 52 53 54 55 | // Dark mode toggle functionality
document.addEventListener('DOMContentLoaded', () => {
// Check for saved theme preference
if (localStorage.getItem('color-theme') === 'dark' || (!('color-theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.classList.add('dark');
} else {
document.documentElement.classList.remove('dark');
}
// Upload area interaction
const uploadArea = document.querySelector('.border-dashed');
if (uploadArea) {
uploadArea.addEventListener('dragover', (e) => {
e.preventDefault();
uploadArea.classList.add('border-primary-500', 'bg-primary-50', 'dark:bg-gray-700');
uploadArea.classList.remove('border-gray-300', 'dark:border-gray-600');
});
uploadArea.addEventListener('dragleave', () => {
uploadArea.classList.remove('border-primary-500', 'bg-primary-50', 'dark:bg-gray-700');
uploadArea.classList.add('border-gray-300', 'dark:border-gray-600');
});
uploadArea.addEventListener('drop', (e) => {
e.preventDefault();
uploadArea.classList.remove('border-primary-500', 'bg-primary-50', 'dark:bg-gray-700');
uploadArea.classList.add('border-gray-300', 'dark:border-gray-600');
// Handle file upload here
if (e.dataTransfer.files.length) {
handleFileUpload(e.dataTransfer.files[0]);
}
});
}
// File upload handler (mock for now)
function handleFileUpload(file) {
console.log('File to upload:', file);
// Here you would typically send the file to your backend for processing
// For now, we'll just show a success message
alert(`File "${file.name}" received! This would be processed to extract text and generate a summary in a real implementation.`);
}
// Listen for upload events from the custom element
document.addEventListener('file-uploaded', (e) => {
handleFileUpload(e.detail.file);
});
});
// Shared function to toggle dark mode
function toggleDarkMode() {
const html = document.documentElement;
html.classList.toggle('dark');
localStorage.setItem('color-theme', html.classList.contains('dark') ? 'dark' : 'light');
} |