Skip to content

Commit

Permalink
Back to the getting-started when pins the timeline. (mastodon#9561)
Browse files Browse the repository at this point in the history
  • Loading branch information
kedamaDQ authored and hiyuki2578 committed Oct 2, 2019
1 parent ed74d3d commit 140f746
Showing 1 changed file with 19 additions and 5 deletions.
24 changes: 19 additions & 5 deletions app/javascript/mastodon/components/column_header.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,14 @@ class ColumnHeader extends React.PureComponent {
animating: false,
};

historyBack = () => {
if (window.history && window.history.length === 1) {
this.context.router.history.push('/');
} else {
this.context.router.history.goBack();
}
}

handleToggleClick = (e) => {
e.stopPropagation();
this.setState({ collapsed: !this.state.collapsed, animating: true });
Expand All @@ -55,16 +63,22 @@ class ColumnHeader extends React.PureComponent {
}

handleBackClick = () => {
if (window.history && window.history.length === 1) this.context.router.history.push('/');
else this.context.router.history.goBack();
this.historyBack();
}

handleTransitionEnd = () => {
this.setState({ animating: false });
}

handlePin = () => {
if (!this.props.pinned) {
this.historyBack();
}
this.props.onPin();
}

render () {
const { title, icon, active, children, pinned, onPin, multiColumn, extraButton, showBackButton, intl: { formatMessage } } = this.props;
const { title, icon, active, children, pinned, multiColumn, extraButton, showBackButton, intl: { formatMessage } } = this.props;
const { collapsed, animating } = this.state;

const wrapperClassName = classNames('column-header__wrapper', {
Expand Down Expand Up @@ -95,7 +109,7 @@ class ColumnHeader extends React.PureComponent {
}

if (multiColumn && pinned) {
pinButton = <button key='pin-button' className='text-btn column-header__setting-btn' onClick={onPin}><i className='fa fa fa-times' /> <FormattedMessage id='column_header.unpin' defaultMessage='Unpin' /></button>;
pinButton = <button key='pin-button' className='text-btn column-header__setting-btn' onClick={this.handlePin}><i className='fa fa fa-times' /> <FormattedMessage id='column_header.unpin' defaultMessage='Unpin' /></button>;

moveButtons = (
<div key='move-buttons' className='column-header__setting-arrows'>
Expand All @@ -104,7 +118,7 @@ class ColumnHeader extends React.PureComponent {
</div>
);
} else if (multiColumn) {
pinButton = <button key='pin-button' className='text-btn column-header__setting-btn' onClick={onPin}><i className='fa fa fa-plus' /> <FormattedMessage id='column_header.pin' defaultMessage='Pin' /></button>;
pinButton = <button key='pin-button' className='text-btn column-header__setting-btn' onClick={this.handlePin}><i className='fa fa fa-plus' /> <FormattedMessage id='column_header.pin' defaultMessage='Pin' /></button>;
}

if (!pinned && (multiColumn || showBackButton)) {
Expand Down

0 comments on commit 140f746

Please sign in to comment.