/*document.addEventListener('DOMContentLoaded', function() { // Tab functionality const tabButtons = document.querySelectorAll('.tab-btn'); const tabContents = document.querySelectorAll('.tab-content'); tabButtons.forEach(button => { button.addEventListener('click', () => { // Remove active class from all buttons and contents tabButtons.forEach(btn => btn.classList.remove('active')); tabContents.forEach(content => content.classList.remove('active')); // Add active class to clicked button and corresponding content button.classList.add('active'); const tabId = button.getAttribute('data-tab'); document.getElementById(tabId).classList.add('active'); }); }); // API base URL - replace with your Hugging Face Space URL const API_BASE_URL = "https://your-username-your-space-name.hf.space"; // For local testing: "http://localhost:7860" // Summarize functionality document.getElementById('summarize-btn').addEventListener('click', async function() { const fileInput = document.getElementById('summarize-file'); const resultArea = document.getElementById('summarize-result'); if (!fileInput.files[0]) { resultArea.textContent = "Please select a file first"; return; } resultArea.textContent = "Processing document..."; const formData = new FormData(); formData.append('file', fileInput.files[0]); try { const response = await fetch(`${API_BASE_URL}/ask`, { method: 'POST', body: formData }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); resultArea.innerHTML = `

Summary:

${data.answer}

Confidence: ${(data.confidence * 100).toFixed(1)}%

`; } catch (error) { resultArea.textContent = `Error: ${error.message}`; console.error('Summarization error:', error); } }); // Question Answering functionality document.getElementById('ask-btn').addEventListener('click', async function() { const fileInput = document.getElementById('ask-file'); const questionInput = document.getElementById('ask-question'); const resultArea = document.getElementById('ask-result'); if (!questionInput.value.trim()) { resultArea.textContent = "Please enter a question"; return; } resultArea.textContent = "Processing your question..."; const formData = new FormData(); formData.append('question', questionInput.value); if (fileInput.files[0]) { formData.append('file', fileInput.files[0]); } try { const response = await fetch(`${API_BASE_URL}/ask`, { method: 'POST', body: formData }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); resultArea.innerHTML = `

Answer:

${data.answer}

Confidence: ${(data.confidence * 100).toFixed(1)}%

${data.context_used ? `
Context used

${data.context_used}

` : ''} `; } catch (error) { resultArea.textContent = `Error: ${error.message}`; console.error('Question answering error:', error); } }); // Image Captioning functionality document.getElementById('caption-btn').addEventListener('click', async function() { const fileInput = document.getElementById('caption-file'); const resultArea = document.getElementById('caption-result'); if (!fileInput.files[0]) { resultArea.textContent = "Please select an image first"; return; } resultArea.textContent = "Generating caption..."; const formData = new FormData(); formData.append('file', fileInput.files[0]); try { const response = await fetch(`${API_BASE_URL}/api/caption`, { method: 'POST', body: formData }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); resultArea.innerHTML = `

Caption:

${data.caption}

Uploaded image
`; } catch (error) { resultArea.textContent = `Error: ${error.message}`; console.error('Captioning error:', error); } }); // Translation functionality document.getElementById('translate-btn').addEventListener('click', async function() { const textInput = document.getElementById('translate-text'); const sourceLang = document.getElementById('source-lang').value; const targetLang = document.getElementById('target-lang').value; const resultArea = document.getElementById('translate-result'); if (!textInput.value.trim()) { resultArea.textContent = "Please enter text to translate"; return; } resultArea.textContent = "Translating..."; const formData = new FormData(); formData.append('text', textInput.value); formData.append('target_lang', targetLang); formData.append('src_lang', sourceLang); try { const response = await fetch(`${API_BASE_URL}/translate`, { method: 'POST', body: formData }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); resultArea.innerHTML = `

Translation:

${data.translated_text}

Translated from ${document.getElementById('source-lang').options[document.getElementById('source-lang').selectedIndex].text} to ${document.getElementById('target-lang').options[document.getElementById('target-lang').selectedIndex].text}

`; } catch (error) { resultArea.textContent = `Error: ${error.message}`; console.error('Translation error:', error); } }); // File input styling document.querySelectorAll('input[type="file"]').forEach(input => { input.addEventListener('change', function() { const label = this.nextElementSibling; if (this.files[0]) { label.textContent = this.files[0].name; } else { label.textContent = label.getAttribute('data-default') || 'Choose a file'; } }); }); });*/ // Function to show the selected section and hide the others function showSection(sectionId) { const sections = document.querySelectorAll('.tool-section'); sections.forEach(section => { section.style.display = 'none'; }); const activeSection = document.getElementById(sectionId); if (activeSection) { activeSection.style.display = 'block'; } }