|
|
|
@ -1,6 +1,6 @@ |
|
|
|
|
import React from 'react'; |
|
|
|
|
import PropTypes from 'prop-types'; |
|
|
|
|
import { injectIntl } from 'react-intl'; |
|
|
|
|
import { defineMessages, injectIntl } from 'react-intl'; |
|
|
|
|
import ImmutablePropTypes from 'react-immutable-proptypes'; |
|
|
|
|
import ImmutablePureComponent from 'react-immutable-pure-component'; |
|
|
|
|
|
|
|
|
@ -29,6 +29,10 @@ const componentMap = { |
|
|
|
|
'LIST': ListTimeline, |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
const messages = defineMessages({ |
|
|
|
|
publish: { id: 'compose_form.publish', defaultMessage: 'Toot' }, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
const shouldHideFAB = path => path.match(/^\/statuses\//); |
|
|
|
|
|
|
|
|
|
@component => injectIntl(component, { withRef: true }) |
|
|
|
@ -149,14 +153,14 @@ export default class ColumnsArea extends ImmutablePureComponent { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
render () { |
|
|
|
|
const { columns, children, singleColumn, isModalOpen } = this.props; |
|
|
|
|
const { columns, children, singleColumn, isModalOpen, intl } = this.props; |
|
|
|
|
const { shouldAnimate } = this.state; |
|
|
|
|
|
|
|
|
|
const columnIndex = getIndex(this.context.router.history.location.pathname); |
|
|
|
|
this.pendingIndex = null; |
|
|
|
|
|
|
|
|
|
if (singleColumn) { |
|
|
|
|
const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : <Link key='floating-action-button' to='/statuses/new' className='floating-action-button'><i className='fa fa-pencil' /></Link>; |
|
|
|
|
const floatingActionButton = shouldHideFAB(this.context.router.history.location.pathname) ? null : <Link key='floating-action-button' to='/statuses/new' className='floating-action-button' aria-label={intl.formatMessage(messages.publish)}><i className='fa fa-pencil' /></Link>; |
|
|
|
|
|
|
|
|
|
return columnIndex !== -1 ? [ |
|
|
|
|
<ReactSwipeableViews key='content' index={columnIndex} onChangeIndex={this.handleSwipe} onTransitionEnd={this.handleAnimationEnd} animateTransitions={shouldAnimate} springConfig={{ duration: '400ms', delay: '0s', easeFunction: 'ease' }} style={{ height: '100%' }}> |
|
|
|
|