diff options
Diffstat (limited to 'app/javascript/flavours/glitch/components/column_back_button.js')
-rw-r--r-- | app/javascript/flavours/glitch/components/column_back_button.js | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/app/javascript/flavours/glitch/components/column_back_button.js b/app/javascript/flavours/glitch/components/column_back_button.js deleted file mode 100644 index 05688f867..000000000 --- a/app/javascript/flavours/glitch/components/column_back_button.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import { FormattedMessage } from 'react-intl'; -import PropTypes from 'prop-types'; -import Icon from 'flavours/glitch/components/icon'; -import { createPortal } from 'react-dom'; - -export default class ColumnBackButton extends React.PureComponent { - - static contextTypes = { - router: PropTypes.object, - }; - - static propTypes = { - multiColumn: PropTypes.bool, - }; - - handleClick = (event) => { - // if history is exhausted, or we would leave mastodon, just go to root. - if (window.history.state) { - const state = this.context.router.history.location.state; - if (event.shiftKey && state && state.mastodonBackSteps) { - this.context.router.history.go(-state.mastodonBackSteps); - } else { - this.context.router.history.goBack(); - } - } else { - this.context.router.history.push('/'); - } - } - - render () { - const { multiColumn } = this.props; - - const component = ( - <button onClick={this.handleClick} className='column-back-button'> - <Icon id='chevron-left' className='column-back-button__icon' fixedWidth /> - <FormattedMessage id='column_back_button.label' defaultMessage='Back' /> - </button> - ); - - if (multiColumn) { - return component; - } else { - // The portal container and the component may be rendered to the DOM in - // the same React render pass, so the container might not be available at - // the time `render()` is called. - const container = document.getElementById('tabs-bar__portal'); - if (container === null) { - // The container wasn't available, force a re-render so that the - // component can eventually be inserted in the container and not scroll - // with the rest of the area. - this.forceUpdate(); - return component; - } else { - return createPortal(component, container); - } - } - } - -} |