kaboot/index.tsx

55 lines
No EOL
1.3 KiB
TypeScript

import React from 'react';
import ReactDOM from 'react-dom/client';
import { AuthProvider } from 'react-oidc-context';
import { Toaster } from 'react-hot-toast';
import App from './App';
import { oidcConfig } from './src/config/oidc';
const rootElement = document.getElementById('root');
if (!rootElement) {
throw new Error("Could not find root element to mount to");
}
const onSigninCallback = () => {
window.history.replaceState({}, document.title, window.location.pathname);
};
const root = ReactDOM.createRoot(rootElement);
root.render(
<React.StrictMode>
<AuthProvider
{...oidcConfig}
onSigninCallback={onSigninCallback}
onRemoveUser={() => {
window.localStorage.clear();
}}
>
<Toaster
position="top-center"
toastOptions={{
duration: 4000,
style: {
background: '#333',
color: '#fff',
fontWeight: 'bold',
borderRadius: '1rem',
padding: '12px 20px',
},
success: {
iconTheme: {
primary: '#22c55e',
secondary: '#fff',
},
},
error: {
iconTheme: {
primary: '#ef4444',
secondary: '#fff',
},
},
}}
/>
<App />
</AuthProvider>
</React.StrictMode>
);