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

// Suppress benign WebSocket or HMR connection failures in sandboxed previews
if (typeof window !== 'undefined') {
  const websocketErrorHandler = (event: ErrorEvent | PromiseRejectionEvent) => {
    // Check error message or rejection reason
    const message = 'message' in event 
      ? event.message 
      : (event.reason ? (event.reason.message || String(event.reason)) : '');
      
    if (
      message && (
        message.includes('WebSocket') ||
        message.includes('websocket') ||
        message.includes('HMR') ||
        message.includes('closed without opened')
      )
    ) {
      event.preventDefault();
      event.stopPropagation();
    }
  };
  window.addEventListener('error', websocketErrorHandler, true);
  window.addEventListener('unhandledrejection', websocketErrorHandler, true);
}

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

