hme20d/orderflow-insights-pro
0
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 