import React from 'react'
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'

// Global error handler برای unhandled promise rejections
if (typeof window !== 'undefined') {
  window.addEventListener('unhandledrejection', (event) => {
    // فیلتر کردن خطاهای مربوط به extension های مرورگر
    const errorMessage = event.reason?.message || '';
    const isExtensionError = errorMessage.includes('Could not establish connection') ||
                            errorMessage.includes('Receiving end does not exist') ||
                            errorMessage.includes('Extension context invalidated');
    
    if (isExtensionError) {
      // جلوگیری از نمایش خطاهای extension
      event.preventDefault();
      console.warn('Extension error suppressed:', errorMessage);
      return;
    }
    
    // برای خطاهای دیگر، لاگ کنیم اما preventDefault نکنیم
    console.error('Unhandled promise rejection:', event.reason);
  });

  // Global error handler برای خطاهای عمومی
  window.addEventListener('error', (event) => {
    const errorMessage = event.message || '';
    const isExtensionError = errorMessage.includes('Could not establish connection') ||
                            errorMessage.includes('Receiving end does not exist') ||
                            errorMessage.includes('Extension context invalidated');
    
    if (isExtensionError) {
      event.preventDefault();
      console.warn('Extension error suppressed:', errorMessage);
      return;
    }
  });
}

ReactDOM.createRoot(document.getElementById('root')).render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
)
