import React from 'react'; class ErrorBoundary extends React.Component { constructor(props) { super(props); this.state = { hasError: false }; this.logger = null; if (typeof window === 'undefined') { this.logger = require('../src/logger'); } } static getDerivedStateFromError(error) { // Update state so the next render will show the fallback UI. return { hasError: true }; } componentDidCatch(error, info) { // Log the error to an error reporting service console.error(error, info); if (this.logger) { this.logger.error(`${error}: ${info.componentStack}`); } } render() { if (this.state.hasError) { // Render any custom fallback UI return