diff options
author | Thibaut Girka <thib@sitedethib.com> | 2019-04-08 17:56:25 +0200 |
---|---|---|
committer | ThibG <thib@sitedethib.com> | 2019-04-08 21:59:30 +0200 |
commit | cb410f80a40d03b509cec244b0cdd4ed3957c6a0 (patch) | |
tree | c19af0e647aa2efb934daf0a51cdbe500f525f2a /app/javascript/flavours/glitch | |
parent | fc2f7ee8710b498c4533e229aff6391396aa7213 (diff) |
Add column title to “Favourited by” and “Boosted by” columns
Diffstat (limited to 'app/javascript/flavours/glitch')
-rw-r--r-- | app/javascript/flavours/glitch/features/favourites/index.js | 28 | ||||
-rw-r--r-- | app/javascript/flavours/glitch/features/reblogs/index.js | 28 |
2 files changed, 48 insertions, 8 deletions
diff --git a/app/javascript/flavours/glitch/features/favourites/index.js b/app/javascript/flavours/glitch/features/favourites/index.js index 65cd4a19b..eb86636c3 100644 --- a/app/javascript/flavours/glitch/features/favourites/index.js +++ b/app/javascript/flavours/glitch/features/favourites/index.js @@ -7,20 +7,27 @@ import { fetchFavourites } from 'flavours/glitch/actions/interactions'; import { ScrollContainer } from 'react-router-scroll-4'; import AccountContainer from 'flavours/glitch/containers/account_container'; import Column from 'flavours/glitch/features/ui/components/column'; -import ColumnBackButton from 'flavours/glitch/components/column_back_button'; +import ColumnHeader from 'flavours/glitch/components/column_header'; +import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; +const messages = defineMessages({ + heading: { id: 'column.favourited_by', defaultMessage: 'Favourited by' }, +}); + const mapStateToProps = (state, props) => ({ accountIds: state.getIn(['user_lists', 'favourited_by', props.params.statusId]), }); @connect(mapStateToProps) +@injectIntl export default class Favourites extends ImmutablePureComponent { static propTypes = { params: PropTypes.object.isRequired, dispatch: PropTypes.func.isRequired, accountIds: ImmutablePropTypes.list, + intl: PropTypes.object.isRequired, }; componentWillMount () { @@ -38,8 +45,16 @@ export default class Favourites extends ImmutablePureComponent { return !(location.state && location.state.mastodonModalOpen); } + handleHeaderClick = () => { + this.column.scrollTop(); + } + + setRef = c => { + this.column = c; + } + render () { - const { accountIds } = this.props; + const { intl, accountIds } = this.props; if (!accountIds) { return ( @@ -50,8 +65,13 @@ export default class Favourites extends ImmutablePureComponent { } return ( - <Column> - <ColumnBackButton /> + <Column ref={this.setRef}> + <ColumnHeader + icon='star' + title={intl.formatMessage(messages.heading)} + onClick={this.handleHeaderClick} + showBackButton + /> <ScrollContainer scrollKey='favourites' shouldUpdateScroll={this.shouldUpdateScroll}> <div className='scrollable'> diff --git a/app/javascript/flavours/glitch/features/reblogs/index.js b/app/javascript/flavours/glitch/features/reblogs/index.js index 75f8390a1..e007506b7 100644 --- a/app/javascript/flavours/glitch/features/reblogs/index.js +++ b/app/javascript/flavours/glitch/features/reblogs/index.js @@ -7,20 +7,27 @@ import { fetchReblogs } from 'flavours/glitch/actions/interactions'; import { ScrollContainer } from 'react-router-scroll-4'; import AccountContainer from 'flavours/glitch/containers/account_container'; import Column from 'flavours/glitch/features/ui/components/column'; -import ColumnBackButton from 'flavours/glitch/components/column_back_button'; +import ColumnHeader from 'flavours/glitch/components/column_header'; +import { defineMessages, injectIntl } from 'react-intl'; import ImmutablePureComponent from 'react-immutable-pure-component'; +const messages = defineMessages({ + heading: { id: 'column.reblogged_by', defaultMessage: 'Boosted by' }, +}); + const mapStateToProps = (state, props) => ({ accountIds: state.getIn(['user_lists', 'reblogged_by', props.params.statusId]), }); @connect(mapStateToProps) +@injectIntl export default class Reblogs extends ImmutablePureComponent { static propTypes = { params: PropTypes.object.isRequired, dispatch: PropTypes.func.isRequired, accountIds: ImmutablePropTypes.list, + intl: PropTypes.object.isRequired, }; componentWillMount () { @@ -38,8 +45,16 @@ export default class Reblogs extends ImmutablePureComponent { return !(location.state && location.state.mastodonModalOpen); } + handleHeaderClick = () => { + this.column.scrollTop(); + } + + setRef = c => { + this.column = c; + } + render () { - const { accountIds } = this.props; + const { intl, accountIds } = this.props; if (!accountIds) { return ( @@ -50,8 +65,13 @@ export default class Reblogs extends ImmutablePureComponent { } return ( - <Column> - <ColumnBackButton /> + <Column ref={this.setRef}> + <ColumnHeader + icon='retweet' + title={intl.formatMessage(messages.heading)} + onClick={this.handleHeaderClick} + showBackButton + /> <ScrollContainer scrollKey='reblogs' shouldUpdateScroll={this.shouldUpdateScroll}> <div className='scrollable reblogs'> |