gearheads
/
mastodon
Archived
2
0
Fork 0

Add "back" button on column headers of public and hashtag timelines. The "back"

button takes you back to getting started page
gh/stable
Eugen Rochko 2017-01-03 01:15:42 +01:00
parent 86be6d48c9
commit 3125dd8920
3 changed files with 52 additions and 1 deletions

View File

@ -7,6 +7,7 @@ import {
updateTimeline, updateTimeline,
deleteFromTimelines deleteFromTimelines
} from '../../actions/timelines'; } from '../../actions/timelines';
import ColumnBackButton from '../public_timeline/components/column_back_button';
const HashtagTimeline = React.createClass({ const HashtagTimeline = React.createClass({
@ -68,6 +69,7 @@ const HashtagTimeline = React.createClass({
return ( return (
<Column icon='hashtag' heading={id}> <Column icon='hashtag' heading={id}>
<ColumnBackButton />
<StatusListContainer type='tag' id={id} /> <StatusListContainer type='tag' id={id} />
</Column> </Column>
); );

View File

@ -0,0 +1,46 @@
import PureRenderMixin from 'react-addons-pure-render-mixin';
import { FormattedMessage } from 'react-intl';
const outerStyle = {
position: 'absolute',
right: '0',
top: '-48px',
padding: '15px',
fontSize: '16px',
background: '#2f3441',
flex: '0 0 auto',
cursor: 'pointer',
color: '#2b90d9'
};
const iconStyle = {
display: 'inline-block',
marginRight: '5px'
};
const ColumnBackButton = React.createClass({
contextTypes: {
router: React.PropTypes.object
},
mixins: [PureRenderMixin],
handleClick () {
this.context.router.push('/');
},
render () {
return (
<div style={{ position: 'relative' }}>
<div style={outerStyle} onClick={this.handleClick} className='column-back-button'>
<i className='fa fa-fw fa-chevron-left' style={iconStyle} />
<FormattedMessage id='column_back_button.label' defaultMessage='Back' />
</div>
</div>
);
}
});
export default ColumnBackButton;

View File

@ -8,6 +8,7 @@ import {
deleteFromTimelines deleteFromTimelines
} from '../../actions/timelines'; } from '../../actions/timelines';
import { defineMessages, injectIntl } from 'react-intl'; import { defineMessages, injectIntl } from 'react-intl';
import ColumnBackButton from './components/column_back_button';
const messages = defineMessages({ const messages = defineMessages({
title: { id: 'column.public', defaultMessage: 'Public' } title: { id: 'column.public', defaultMessage: 'Public' }
@ -16,7 +17,8 @@ const messages = defineMessages({
const PublicTimeline = React.createClass({ const PublicTimeline = React.createClass({
propTypes: { propTypes: {
dispatch: React.PropTypes.func.isRequired dispatch: React.PropTypes.func.isRequired,
intl: React.PropTypes.object.isRequired
}, },
mixins: [PureRenderMixin], mixins: [PureRenderMixin],
@ -53,6 +55,7 @@ const PublicTimeline = React.createClass({
return ( return (
<Column icon='globe' heading={intl.formatMessage(messages.title)}> <Column icon='globe' heading={intl.formatMessage(messages.title)}>
<ColumnBackButton />
<StatusListContainer type='public' /> <StatusListContainer type='public' />
</Column> </Column>
); );