import { ErrorBoundary } from 'react-error-boundary';
import { useTranslation } from 'react-i18next';
import { ServerSelector } from '/@/renderer/features/sidebar/components/server-selector';
import { Box } from '/@/shared/components/box/box';
import { Button } from '/@/shared/components/button/button';
import { Center } from '/@/shared/components/center/center';
import { Group } from '/@/shared/components/group/group';
import { Icon } from '/@/shared/components/icon/icon';
import { Stack } from '/@/shared/components/stack/stack';
import { Text } from '/@/shared/components/text/text';
interface RouterErrorFallbackProps {
error: Error;
resetErrorBoundary: () => void;
}
const RouterErrorFallback = ({ error, resetErrorBoundary }: RouterErrorFallbackProps) => {
const { t } = useTranslation();
const handleRefresh = () => {
window.location.reload();
};
return (
{t('error.genericError', { postProcess: 'sentenceCase' })}
{error?.message || t('error.genericError', { postProcess: 'sentenceCase' })}
{process.env.NODE_ENV === 'development' && error?.stack && (
{error.stack}
)}
);
};
interface RouterErrorBoundaryProps {
children: React.ReactNode;
}
export const RouterErrorBoundary = ({ children }: RouterErrorBoundaryProps) => {
return (
{
if (process.env.NODE_ENV === 'development') {
console.error('Root error boundary caught an error:', error, errorInfo);
}
}}
onReset={() => {}}
>
{children}
);
};