import '../css/app.css'; import { createInertiaApp } from '@inertiajs/react'; import { resolvePageComponent } from 'laravel-vite-plugin/inertia-helpers'; import { createRoot } from 'react-dom/client'; import { ErrorBoundary } from 'react-error-boundary'; import { GA4Provider } from '@/plugins/GA4Context.jsx'; // Updated import import DetailedErrorFallback from './components/custom/detailed-error-fallback'; // Import your component import { Toaster } from './components/ui/sonner'; import { AxiosProvider } from './plugins/AxiosContext'; import { MittProvider } from './plugins/MittContext'; const appName = import.meta.env.VITE_APP_NAME || 'Laravel'; createInertiaApp({ resolve: (name) => resolvePageComponent(`./pages/${name}.tsx`, import.meta.glob('./pages/**/*.tsx')), setup({ el, App, props }) { const root = createRoot(el); const app = ( { // Log to console for debugging console.error('Error caught by boundary:', error, errorInfo); // You could also send to an error reporting service here // e.g., Sentry, LogRocket, etc. }} onReset={() => { // Optional: Clear any error state in your app console.log('Error boundary reset'); }} > {/* */} ); root.render(app); }, progress: { color: '#4B5563', }, }); // Theme is now handled by useTheme hook in components