File size: 2,237 Bytes
47a81c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/**
 * 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 = '<i class="fas fa-check"></i> Copied!';
        setTimeout(() => {
          copyBtn.innerHTML = '<i class="fas fa-copy"></i> 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;
}