"use client"; import { Component, type ReactNode } from "react"; import { AlertTriangle, RefreshCw } from "lucide-react"; interface Props { children: ReactNode; fallbackLabel?: string } interface State { error: Error | null } export class ErrorBoundary extends Component { state: State = { error: null }; static getDerivedStateFromError(error: Error) { return { error }; } render() { if (this.state.error) { return (

{this.props.fallbackLabel || "Something went wrong"}

{this.state.error.message}

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