BillTracker/client/main.jsx

45 lines
1.2 KiB
JavaScript

import React from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import { Toaster } from 'sonner';
import App from './App';
import { AuthProvider } from './hooks/useAuth';
import { ThemeProvider } from './contexts/ThemeContext';
import './index.css';
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<ThemeProvider>
<BrowserRouter>
<AuthProvider>
<App />
</AuthProvider>
{/* Global Toast System - placed at root level for proper z-index and positioning */}
<Toaster
position="top-right"
richColors
closeButton
theme="system"
toastOptions={{
duration: 3500,
className: 'bg-card text-card-foreground border border-border shadow-lg',
success: {
className: 'border-l-emerald-500',
},
error: {
className: 'border-l-red-500',
},
warning: {
className: 'border-l-amber-500',
},
info: {
className: 'border-l-blue-500',
},
}}
/>
</BrowserRouter>
</ThemeProvider>
</React.StrictMode>
);