store.dispatch(setAccessToken(this.props.token));
store.dispatch(setAccountSelf(JSON.parse(this.props.account)));
- for (var timelineType in this.props.timelines) {
- if (this.props.timelines.hasOwnProperty(timelineType)) {
- store.dispatch(refreshTimelineSuccess(timelineType, JSON.parse(this.props.timelines[timelineType])));
- }
- }
-
if (typeof App !== 'undefined') {
this.subscription = App.cable.subscriptions.create('TimelineChannel', {
+import { connect } from 'react-redux';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../ui/components/column';
+import { refreshTimeline } from '../../actions/timelines';
const HomeTimeline = React.createClass({
+ propTypes: {
+ dispatch: React.PropTypes.func.isRequired
+ },
+
mixins: [PureRenderMixin],
+ componentWillMount () {
+ this.props.dispatch(refreshTimeline('home'));
+ },
+
render () {
return (
<Column icon='home' heading='Home'>
});
-export default HomeTimeline;
+export default connect()(HomeTimeline);
+import { connect } from 'react-redux';
import PureRenderMixin from 'react-addons-pure-render-mixin';
import StatusListContainer from '../ui/containers/status_list_container';
import Column from '../ui/components/column';
+import { refreshTimeline } from '../../actions/timelines';
const MentionsTimeline = React.createClass({
+ propTypes: {
+ dispatch: React.PropTypes.func.isRequired
+ },
+
mixins: [PureRenderMixin],
+ componentWillMount () {
+ this.props.dispatch(refreshTimeline('mentions'));
+ },
+
render () {
return (
<Column icon='at' heading='Mentions'>
});
-export default MentionsTimeline;
+export default connect()(MentionsTimeline);
const PublicTimeline = React.createClass({
+ propTypes: {
+ dispatch: React.PropTypes.func.isRequired
+ },
+
mixins: [PureRenderMixin],
componentWillMount () {
def default_props
{
token: @token,
-
- account: render(file: 'api/v1/accounts/show', locals: { account: current_user.account }, formats: :json),
-
- timelines: {
- home: render(file: 'api/v1/statuses/index', locals: { statuses: @home }, formats: :json),
- mentions: render(file: 'api/v1/statuses/index', locals: { statuses: @mentions }, formats: :json)
- }
+ account: render(file: 'api/v1/accounts/show', locals: { account: current_user.account }, formats: :json)
}
end
end