import React from 'react'; interface Props { componentName: string; children: React.ReactNode; fallback?: React.ReactNode; } interface State { hasError: boolean; error: Error | null; } export class SystemErrorBoundary extends React.Component { state: State = { hasError: false, error: null }; static getDerivedStateFromError(error: Error): Partial { return { hasError: true, error }; } componentDidCatch(error: Error, errorInfo: React.ErrorInfo) { console.error(`[OS] System component "${this.props.componentName}" crashed:`, error, errorInfo); } render() { if (this.state.hasError) { return this.props.fallback ?? null; } return this.props.children; } }