/** * Results handling for AI Document Analyzer */ document.addEventListener('DOMContentLoaded', () => { // Initialize results functionality initResults(); }); /** * Initialize results functionality */ function initResults() { const resultsContainer = document.getElementById('results-container'); const resultsContent = document.getElementById('results-content'); const copyBtn = document.getElementById('copy-results'); const closeBtn = document.getElementById('close-results'); // Copy results copyBtn.addEventListener('click', () => { const text = resultsContent.textContent; navigator.clipboard.writeText(text) .then(() => { // Show copy success animation copyBtn.innerHTML = ' Copied!'; setTimeout(() => { copyBtn.innerHTML = ' Copy'; }, 2000); }) .catch(err => { showError('Failed to copy: ' + err); }); }); // Close results closeBtn.addEventListener('click', () => { resultsContainer.style.display = 'none'; }); } /** * Display analysis results * @param {Object} data - The analysis results data */ function displayResults(data) { const resultsContainer = document.getElementById('results-container'); const resultsContent = document.getElementById('results-content'); // Format the results let formattedResults = ''; // Add file info formattedResults += `File: ${data.filename}\n`; formattedResults += `Analysis Type: ${formatAnalysisType(data.analysis_type)}\n\n`; // Add result formattedResults += `${data.result}\n`; // Set content resultsContent.textContent = formattedResults; // Show results container with animation resultsContainer.style.display = 'block'; resultsContainer.classList.add('slide-up'); // Scroll to results resultsContainer.scrollIntoView({ behavior: 'smooth' }); } /** * Format analysis type for display * @param {string} type - The analysis type * @returns {string} Formatted analysis type */ function formatAnalysisType(type) { const typeMap = { 'summarize': 'Document Summarization', 'caption': 'Image Captioning' }; return typeMap[type] || type; }