CoolFace
Apppublic

hme20d/orderflow-insights-pro

sourceHugging Faceupdated 10mo agoView on Hugging Face
0likes
script.js75 linesDownload Raw Back to root
1 2document.addEventListener('DOMContentLoaded', () => {3    // Initialize all tooltips on page4    feather.replace();5    6// Dark mode toggle7    const darkModeToggle = document.getElementById('darkModeToggle');8    if (darkModeToggle) {9        darkModeToggle.addEventListener('click', () => {10            document.documentElement.classList.toggle('dark');11            localStorage.setItem('darkMode', document.documentElement.classList.contains('dark'));12        });13    }14 15    // Check for saved dark mode preference16    if (localStorage.getItem('darkMode') === 'false') {17        document.documentElement.classList.remove('dark');18    }19 20    // Initialize tooltips21    const tooltips = document.querySelectorAll('.tooltip');22    tooltips.forEach(tooltip => {23        tooltip.addEventListener('mouseenter', () => {24            const tooltipText = tooltip.querySelector('.tooltip-text');25            if (tooltipText) {26                tooltipText.style.opacity = '1';27                tooltipText.style.visibility = 'visible';28            }29        });30        31        tooltip.addEventListener('mouseleave', () => {32            const tooltipText = tooltip.querySelector('.tooltip-text');33            if (tooltipText) {34                tooltipText.style.opacity = '0';35                tooltipText.style.visibility = 'hidden';36            }37        });38    });39    // Smooth scrolling for anchor links40    document.querySelectorAll('a[href^="#"]').forEach(anchor => {41        anchor.addEventListener('click', function (e) {42            e.preventDefault();43            document.querySelector(this.getAttribute('href')).scrollIntoView({44                behavior: 'smooth'45            });46        });47    });48 49    // Dashboard specific functionality50    if (document.getElementById('marketChart')) {51        // Auto-refresh dashboard every 30 seconds52        setInterval(() => {53            console.log('Refreshing dashboard data...');54            // Here you would typically fetch new data and update charts55        }, 30000);56    }57});58 59// Utility function for formatting numbers60function formatNumber(num) {61    return new Intl.NumberFormat('en-US', {62        style: 'decimal',63        minimumFractionDigits: 2,64        maximumFractionDigits: 265    }).format(num);66}67 68// Utility function for formatting currency69function formatCurrency(amount, currency = 'USD') {70    return new Intl.NumberFormat('en-US', {71        style: 'currency',72        currency: currency73    }).format(amount);74}75