]>
cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/features/favourited_statuses/index.js
1 import React
from 'react';
2 import { connect
} from 'react-redux';
3 import PropTypes
from 'prop-types';
4 import ImmutablePropTypes
from 'react-immutable-proptypes';
5 import LoadingIndicator
from '../../components/loading_indicator';
6 import { fetchFavouritedStatuses
, expandFavouritedStatuses
} from '../../actions/favourites';
7 import Column
from '../ui/components/column';
8 import StatusList
from '../../components/status_list';
9 import ColumnBackButtonSlim
from '../../components/column_back_button_slim';
10 import { defineMessages
, injectIntl
} from 'react-intl';
11 import ImmutablePureComponent
from 'react-immutable-pure-component';
13 const messages
= defineMessages({
14 heading: { id: 'column.favourites', defaultMessage: 'Favourites' },
17 const mapStateToProps
= state
=> ({
18 statusIds: state
.getIn(['status_lists', 'favourites', 'items']),
19 loaded: state
.getIn(['status_lists', 'favourites', 'loaded']),
20 me: state
.getIn(['meta', 'me']),
23 class Favourites
extends ImmutablePureComponent
{
26 dispatch: PropTypes
.func
.isRequired
,
27 statusIds: ImmutablePropTypes
.list
.isRequired
,
28 loaded: PropTypes
.bool
,
29 intl: PropTypes
.object
.isRequired
,
30 me: PropTypes
.number
.isRequired
,
33 componentWillMount () {
34 this.props
.dispatch(fetchFavouritedStatuses());
37 handleScrollToBottom
= () => {
38 this.props
.dispatch(expandFavouritedStatuses());
42 const { statusIds
, loaded
, intl
, me
} = this.props
;
53 <Column icon
='star' heading
={intl
.formatMessage(messages
.heading
)}>
54 <ColumnBackButtonSlim
/>
55 <StatusList
{...this.props
} scrollKey
='favourited_statuses' onScrollToBottom
={this.handleScrollToBottom
} />
62 export default connect(mapStateToProps
)(injectIntl(Favourites
));
This page took 0.084194 seconds and 4 git commands to generate.