import { ReactNode, useEffect } from 'react'; import { MantineProvider } from '@mantine/core'; import { useLocalStorage } from '@mantine/hooks'; import { ModalsProvider } from '@mantine/modals'; import { NotificationsProvider } from '@mantine/notifications'; import isElectron from 'is-electron'; import { BrowserRouter, HashRouter } from 'react-router-dom'; import { useDefaultSettings } from './features/settings'; import { AppRouter } from './router/app-router'; import './styles/global.scss'; import 'ag-grid-community/styles/ag-grid.css'; const SelectRouter = ({ children }: { children: ReactNode }) => { if (isElectron()) { return {children}; } return {children}; }; export const App = () => { const [theme] = useLocalStorage({ defaultValue: 'dark', key: 'theme', }); useDefaultSettings(); useEffect(() => { document.body.setAttribute('data-theme', theme); }, [theme]); return ( ); };