"use client"; import { Component, ErrorInfo, ReactNode } from "react"; interface Props { children: ReactNode; } interface State { hasError: boolean; error?: Error; } export default class ErrorBoundary extends Component { public state: State = { hasError: false, }; public static getDerivedStateFromError(error: Error): State { return { hasError: true, error }; } public componentDidCatch(error: Error, errorInfo: ErrorInfo) { // Ignore browser extension errors if (error.message?.includes('tron') || error.message?.includes('chrome-extension') || error.stack?.includes('chrome-extension')) { console.warn('Browser extension error ignored:', error.message); // Reset error state to continue rendering this.setState({ hasError: false }); return; } console.error("Uncaught error:", error, errorInfo); } public render() { if (this.state.hasError) { // Check if it's an extension error if (this.state.error?.message?.includes('tron') || this.state.error?.stack?.includes('chrome-extension')) { // Silently recover and render children return this.props.children; } return (

Something went wrong

); } return this.props.children; } }