import React from 'react'; import { defineMessages, useIntl } from 'react-intl'; import Column from 'pl-fe/components/ui/column'; import IconButton from 'pl-fe/components/ui/icon-button'; import Stack from 'pl-fe/components/ui/stack'; import Text from 'pl-fe/components/ui/text'; import { isNetworkError } from 'pl-fe/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 { ErrorColumn as default };