Spaces:
Running
Running
// Theme Toggle | |
const themeToggle = document.getElementById('theme-toggle'); | |
themeToggle.addEventListener('click', () => { | |
document.body.classList.toggle('light'); | |
}); | |
// Query Submission | |
document.getElementById('submit-query').addEventListener('click', () => { | |
const query = document.getElementById('query-input').value.trim(); | |
if (!query) { | |
showFeedback('Please enter a query.', 'error'); | |
return; | |
} | |
// Show loading state | |
const responseOutput = document.getElementById('response-output'); | |
const contextOutput = document.getElementById('context-output'); | |
responseOutput.innerHTML = '<p class="loading">Processing...</p>'; | |
contextOutput.innerHTML = '<p class="loading">Retrieving...</p>'; | |
// Simulate API call (replace with actual backend integration) | |
setTimeout(() => { | |
responseOutput.innerHTML = `<p>Response for: ${query}</p>`; | |
contextOutput.innerHTML = `<p>Context for: ${query}</p>`; | |
}, 1200); | |
}); | |
// Apply Settings | |
document.getElementById('apply-settings').addEventListener('click', () => { | |
const model = document.getElementById('model-select').value; | |
const topK = document.getElementById('top-k').value; | |
const temperature = document.getElementById('temperature').value; | |
const contextLength = document.getElementById('context-length').value; | |
const settings = `Model: ${model}, Top-K: ${topK}, Temperature: ${temperature}, Context Length: ${contextLength}`; | |
showFeedback(`Settings updated: ${settings}`, 'success'); | |
}); | |
// Feedback Function | |
function showFeedback(message, type) { | |
const feedback = document.createElement('div'); | |
feedback.className = `feedback feedback-${type}`; | |
feedback.textContent = message; | |
document.body.appendChild(feedback); | |
setTimeout(() => { | |
feedback.style.opacity = '0'; | |
setTimeout(() => feedback.remove(), 300); | |
}, 2000); | |
} | |
// Dynamic Loading Styles | |
const style = document.createElement('style'); | |
style.textContent = ` | |
.loading { | |
opacity: 0.7; | |
font-style: italic; | |
} | |
.feedback { | |
position: fixed; | |
bottom: 20px; | |
right: 20px; | |
padding: 12px 24px; | |
border-radius: 8px; | |
color: #fff; | |
font-size: 0.9em; | |
transition: opacity 0.3s; | |
z-index: 1000; | |
} | |
.feedback-success { | |
background: #00c4ff; | |
} | |
.feedback-error { | |
background: #ff4d4d; | |
} | |
`; | |
document.head.appendChild(style); |