import {createRoot} from 'react-dom/client';
import App from './App.tsx';
import './index.css';

// Safely handle benign browser ResizeObserver loop notification messages
if (typeof window !== 'undefined') {
  const isResizeObserverError = (message: unknown): boolean => {
    if (typeof message === 'string') {
      return (
        message.includes('ResizeObserver loop completed with undelivered notifications') ||
        message.includes('ResizeObserver loop limit exceeded')
      );
    }
    return false;
  };

  window.addEventListener('error', (event) => {
    if (isResizeObserverError(event.message)) {
      event.stopImmediatePropagation();
    }
  });

  window.addEventListener('unhandledrejection', (event) => {
    const msg = event.reason?.message || event.reason;
    if (isResizeObserverError(msg)) {
      event.stopImmediatePropagation();
    }
  });
}

createRoot(document.getElementById('root')!).render(<App />);
