class FileAnalyzer { constructor() { this.files = []; this.results = []; this.initializeEventListeners(); } initializeEventListeners() { const uploadBtn = document.getElementById('uploadBtn'); const fileInput = document.getElementById('fileInput'); const analyzeBtn = document.getElementById('analyzeBtn'); uploadBtn.addEventListener('click', () => fileInput.click()); fileInput.addEventListener('change', (e) => this.handleFileSelection(e)); analyzeBtn.addEventListener('click', () => this.analyzeFiles()); } handleFileSelection(event) { const files = Array.from(event.target.files); if (files.length === 0) return; this.files = files; this.displayFileList(); document.getElementById('analyzeBtn').classList.remove('hidden'); } displayFileList() { const fileList = document.getElementById('fileList'); const fileItems = document.getElementById('fileItems'); fileItems.innerHTML = ''; this.files.forEach((file, index) => { const fileItem = document.createElement('div'); fileItem.className = 'file-item flex items-center justify-between bg-cyan-50 rounded-lg p-3 border border-cyan-200'; fileItem.innerHTML = `
No significant common patterns found
${result.length} characters
${fileList}
${this.escapeHtml(preview)}