UNPKG

@atlaskit/profilecard

Version:

A React component to display a card with user information.

43 lines 2.68 kB
import _defineProperty from "@babel/runtime/helpers/defineProperty"; function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } import React, { useEffect } from 'react'; import { FormattedMessage } from 'react-intl-next'; import Button from '@atlaskit/button/new'; import CrossCircleIcon from '@atlaskit/icon/core/cross-circle'; import { Text } from '@atlaskit/primitives/compiled'; import messages from '../../messages'; import { ErrorTitle, ErrorWrapper } from '../../styled/Error'; import { PACKAGE_META_DATA } from '../../util/analytics'; var ErrorMessage = function ErrorMessage(props) { var errorType = props.errorType || { reason: 'default' }; var errorReason = errorType.reason; var fireAnalytics = props.fireAnalytics, reload = props.reload; var hasRetry = !!reload; useEffect(function () { fireAnalytics('ui.profilecard.rendered.error', _objectSpread({ hasRetry: hasRetry, errorType: errorReason, firedAt: Math.round(performance.now()) }, PACKAGE_META_DATA)); }, [errorReason, fireAnalytics, hasRetry]); var errorContent = function errorContent() { if (errorReason === 'NotFound') { return /*#__PURE__*/React.createElement(ErrorTitle, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.errorUserNotFound)); } return /*#__PURE__*/React.createElement(ErrorTitle, null, /*#__PURE__*/React.createElement(FormattedMessage, messages.errorGeneric), /*#__PURE__*/React.createElement("br", null), reload && /*#__PURE__*/React.createElement(Text, { color: "color.text.subtlest" }, /*#__PURE__*/React.createElement(FormattedMessage, messages.errorRetrySuggestion))); }; return /*#__PURE__*/React.createElement(ErrorWrapper, { testId: "profilecard-error" }, /*#__PURE__*/React.createElement(CrossCircleIcon, { label: "icon error" }), errorContent(), reload && /*#__PURE__*/React.createElement(Button, { onClick: reload }, /*#__PURE__*/React.createElement(FormattedMessage, messages.errorTryAgain))); }; export default ErrorMessage;