import { Component, Fragment } from "react"; import type { ReactNode, ErrorInfo } from "react"; interface Props { children: ReactNode; } interface State { hasError: boolean; resetKey: number; } export class PromptBoxErrorBoundary extends Component { override state: State = { hasError: false, resetKey: 0 }; static getDerivedStateFromError(): Partial { return { hasError: true }; } override componentDidCatch(error: Error, info: ErrorInfo) { console.error("PromptBox crashed:", error, info.componentStack); } override render() { if (this.state.hasError) { return (
Something went wrong with the prompt box. 
); } return ( {this.props.children} ); } }