>
<FormattedMessage id='settings.navbar_under' defaultMessage='Navbar at the bottom (Mobile only)' />
</LocalSettingsPageItem>
+ <LocalSettingsPageItem
+ settings={settings}
+ item={['swipe_to_change_columns']}
+ id='mastodon-settings--swipe_to_change_columns'
+ onChange={onChange}
+ >
+ <FormattedMessage id='settings.swipe_to_change_columns' defaultMessage='Allow swiping to change columns (Mobile only)' />
+ </LocalSettingsPageItem>
</section>
</div>
),
static propTypes = {
intl: PropTypes.object.isRequired,
columns: ImmutablePropTypes.list.isRequired,
+ swipeToChangeColumns: PropTypes.bool,
singleColumn: PropTypes.bool,
children: PropTypes.node,
};
}
render () {
- const { columns, children, singleColumn, intl } = this.props;
+ const { columns, children, singleColumn, swipeToChangeColumns, intl } = this.props;
const { shouldAnimate } = this.state;
const columnIndex = getIndex(this.context.router.history.location.pathname);
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%' }}>
+ <ReactSwipeableViews key='content' index={columnIndex} onChangeIndex={this.handleSwipe} onTransitionEnd={this.handleAnimationEnd} animateTransitions={shouldAnimate} springConfig={{ duration: '400ms', delay: '0s', easeFunction: 'ease' }} style={{ height: '100%' }} disabled={!swipeToChangeColumns}>
{links.map(this.renderView)}
</ReactSwipeableViews>,
const mapStateToProps = state => ({
columns: state.getIn(['settings', 'columns']),
+ swipeToChangeColumns: state.getIn(['local_settings', 'swipe_to_change_columns']),
});
export default connect(mapStateToProps, null, null, { forwardRef: true })(ColumnsArea);