import React from 'react';
import { Sparklines, SparklinesCurve } from 'react-sparklines';
import { FormattedMessage } from 'react-intl';
+import PropTypes from 'prop-types';
import ImmutablePropTypes from 'react-immutable-proptypes';
import Permalink from './permalink';
import ShortNumber from 'mastodon/components/short_number';
+class SilentErrorBoundary extends React.Component {
+
+ static propTypes = {
+ children: PropTypes.node,
+ };
+
+ state = {
+ error: false,
+ };
+
+ componentDidCatch () {
+ this.setState({ error: true });
+ }
+
+ render () {
+ if (this.state.error) {
+ return null;
+ }
+
+ return this.props.children;
+ }
+
+}
+
/**
* Used to render counter of how much people are talking about hashtag
*
</div>
<div className='trends__item__sparkline'>
- <Sparklines
- width={50}
- height={28}
- data={hashtag
- .get('history')
- .reverse()
- .map((day) => day.get('uses'))
- .toArray()}
- >
- <SparklinesCurve style={{ fill: 'none' }} />
- </Sparklines>
+ <SilentErrorBoundary>
+ <Sparklines
+ width={50}
+ height={28}
+ data={hashtag
+ .get('history')
+ .reverse()
+ .map((day) => day.get('uses'))
+ .toArray()}
+ >
+ <SparklinesCurve style={{ fill: 'none' }} />
+ </Sparklines>
+ </SilentErrorBoundary>
</div>
</div>
);