import { BrowserRouter, Routes, Route, Navigate } from 'react-router-dom'; import { Toaster, toast } from 'react-hot-toast'; import { useEffect } from 'react'; import Layout from './components/Layout'; import Dashboard from './pages/Dashboard'; import Quantizer from './pages/Quantizer'; import Analysis from './pages/Analysis'; import ModelLoader from './pages/ModelLoader'; import { useSystemStore, useUIStore } from './store'; import './index.css'; function App() { const fetchSystemInfo = useSystemStore((state) => state.fetchSystemInfo); const theme = useUIStore((state) => state.theme); useEffect(() => { // Sync theme on mount document.documentElement.setAttribute('data-theme', theme); // Fetch system info fetchSystemInfo(); const handleOffline = () => toast.error("Internet connection lost"); const handleOnline = () => toast.success("Internet connection restored"); window.addEventListener('offline', handleOffline); window.addEventListener('online', handleOnline); return () => { window.removeEventListener('offline', handleOffline); window.removeEventListener('online', handleOnline); }; }, [fetchSystemInfo]); return ( }> } /> } /> } /> } /> } /> ); } export default App;