diff options
author | Starfall <us@starfall.systems> | 2021-03-04 23:55:42 -0600 |
---|---|---|
committer | Starfall <us@starfall.systems> | 2021-03-04 23:55:42 -0600 |
commit | fe6381b9acc28cd610b032160de2952e1fdefc86 (patch) | |
tree | ad1ba10427d5d792d3ba797479528f01e51404a5 /app/javascript/flavours/glitch/components | |
parent | 033b1b5b900babc9b068ddad0ae644c5f15e9ffe (diff) | |
parent | f4abf8e7829c6a5b952dea6fb9ad01b6b3601f95 (diff) |
Merge remote-tracking branch 'glitchsoc/main' into main
Diffstat (limited to 'app/javascript/flavours/glitch/components')
-rw-r--r-- | app/javascript/flavours/glitch/components/hashtag.js | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/app/javascript/flavours/glitch/components/hashtag.js b/app/javascript/flavours/glitch/components/hashtag.js index 639d87a1e..24c595ed7 100644 --- a/app/javascript/flavours/glitch/components/hashtag.js +++ b/app/javascript/flavours/glitch/components/hashtag.js @@ -2,10 +2,35 @@ 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 'flavours/glitch/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 * @@ -51,17 +76,19 @@ const Hashtag = ({ 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> ); |