import { States, StatesAction, StatesActions, StatesIcon, StatesSubtitle, StatesTitle } from '@rocket.chat/fuselage'; import { QueryErrorResetBoundary } from '@tanstack/react-query'; import type { ReactNode } from 'react'; import { useState } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import { useTranslation } from 'react-i18next'; export type EngagementDashboardCardErrorBoundaryProps = { children?: ReactNode; }; const EngagementDashboardCardErrorBoundary = ({ children }: EngagementDashboardCardErrorBoundaryProps) => { const { t } = useTranslation(); const [error, setError] = useState(null); const isError = (error: unknown): error is Error => error instanceof Error; const errorHandler = (error: unknown, info: { componentStack?: string | null }): void => { setError(error); console.error('Uncaught Error:', error, info); }; return ( {({ reset }) => ( ( {t('Something_went_wrong')} {isError(error) && error?.message} resetErrorBoundary()}>{t('Retry')} )} > {children} )} ); }; export default EngagementDashboardCardErrorBoundary;