Enhance user experience

This commit is contained in:
jheaps
2025-10-09 13:23:44 -06:00
parent f59f90c179
commit 8bf0667683
10 changed files with 557 additions and 159 deletions
+8 -2
View File
@@ -7,8 +7,14 @@ document.addEventListener('DOMContentLoaded', function() {
if (addFilesBtn && uploadFormCard) {
addFilesBtn.addEventListener('click', () => {
uploadFormCard.style.display = 'block';
addFilesBtn.classList.add('active');
if (addFilesBtn.classList.contains('active')) {
uploadFormCard.style.display = 'none';
addFilesBtn.classList.remove('active');
}
else {
uploadFormCard.style.display = 'block';
addFilesBtn.classList.add('active');
}
});
if (closeUploadBtn) {
+38
View File
@@ -0,0 +1,38 @@
// Theme Toggle Functionality
(function() {
const THEME_KEY = 'theme-preference';
// Initialize theme on page load
function initTheme() {
const savedTheme = localStorage.getItem(THEME_KEY);
const theme = savedTheme || 'light'; // Default to light
document.documentElement.setAttribute('data-theme', theme);
// Update toggle if it exists
const toggle = document.getElementById('theme-toggle');
if (toggle) {
toggle.checked = theme === 'dark';
}
}
// Toggle theme
function toggleTheme() {
const currentTheme = document.documentElement.getAttribute('data-theme') || 'light';
const newTheme = currentTheme === 'dark' ? 'light' : 'dark';
document.documentElement.setAttribute('data-theme', newTheme);
localStorage.setItem(THEME_KEY, newTheme);
}
// Initialize immediately (before DOMContentLoaded to prevent flash)
initTheme();
// Set up toggle listener when DOM is ready
document.addEventListener('DOMContentLoaded', function() {
const toggle = document.getElementById('theme-toggle');
if (toggle) {
toggle.addEventListener('change', toggleTheme);
}
});
})();