CoolFace
Apppublic

eml21/ai-wonderland

sourceHugging Faceupdated 8mo agoView on Hugging Face
0likes
script.js44 linesDownload Raw Back to root
1// Theme toggle functionality2document.addEventListener('DOMContentLoaded', () => {3    // Check for saved theme preference or use system preference4    if (localStorage.getItem('color-theme') === 'dark' || 5        (!('color-theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {6        document.documentElement.classList.add('dark');7    } else {8        document.documentElement.classList.remove('dark');9    }10});11// Smooth scrolling for anchor links12document.querySelectorAll('a[href^="#"]').forEach(anchor => {13    anchor.addEventListener('click', function (e) {14        e.preventDefault();15        document.querySelector(this.getAttribute('href')).scrollIntoView({16            behavior: 'smooth'17        });18    });19});20// Initialize environment variables21require('dotenv').config();22 23// AI Tools Enter key support24document.addEventListener('keypress', function(e) {25    if (e.target && e.target.matches('input[type="text"]') && e.key === 'Enter') {26        const button = e.target.nextElementSibling || e.target.parentElement.nextElementSibling;27        if (button && button.tagName === 'BUTTON') {28            button.click();29        }30    }31});32 33// Error handling for API calls34window.addEventListener('error', function(e) {35    console.error('Unhandled error:', e.error);36    // Show user-friendly error message37    const errorDiv = document.createElement('div');38    errorDiv.className = 'fixed bottom-4 right-4 bg-red-500 text-white p-4 rounded-lg shadow-lg z-50';39    errorDiv.textContent = 'An error occurred. Please try again.';40    document.body.appendChild(errorDiv);41    setTimeout(() => errorDiv.remove(), 5000);42});43 44