Files
dashfront/src/main.jsx
2026-07-31 20:37:43 +02:00

42 lines
1.2 KiB
JavaScript

import { createRoot } from 'react-dom/client';
import CssBaseline from '@mui/material/CssBaseline';
import { ThemeProvider } from '@mui/material/styles';
import { Provider } from 'react-redux';
import { SnackbarProvider } from 'notistack';
import AuthBootstrap from './components/AuthBootstrap';
import App from './App';
import { store } from './store';
import { getActiveTheme } from './theme';
import './index.css';
async function clearDevServiceWorker() {
if (!import.meta.env.DEV || !('serviceWorker' in navigator)) return;
const regs = await navigator.serviceWorker.getRegistrations();
await Promise.all(regs.map((r) => r.unregister()));
if ('caches' in window) {
const keys = await caches.keys();
await Promise.all(keys.map((k) => caches.delete(k)));
}
}
if (import.meta.env.DEV) {
void clearDevServiceWorker();
}
createRoot(document.getElementById('root')).render(
<Provider store={store}>
<ThemeProvider theme={getActiveTheme()}>
<CssBaseline />
<SnackbarProvider
maxSnack={3}
autoHideDuration={2000}
anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}
>
<AuthBootstrap>
<App />
</AuthBootstrap>
</SnackbarProvider>
</ThemeProvider>
</Provider>,
);