import React from 'react'; import { defineMessages, useIntl } from 'react-intl'; import { Column, Stack, Text, IconButton } from 'soapbox/components/ui'; import { isNetworkError } from 'soapbox/utils/errors'; const messages = defineMessages({ title: { id: 'bundle_column_error.title', defaultMessage: 'Network error' }, body: { id: 'bundle_column_error.body', defaultMessage: 'Something went wrong while loading this page.' }, retry: { id: 'bundle_column_error.retry', defaultMessage: 'Try again' }, }); interface IErrorColumn { error: Error; onRetry?: () => void; } const ErrorColumn: React.FC = ({ error, onRetry = () => location.reload() }) => { const intl = useIntl(); const handleRetry = () => { onRetry?.(); }; if (!isNetworkError(error)) { throw error; } return ( {intl.formatMessage(messages.body)} ); }; export default ErrorColumn;