diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-05 15:20:05 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-11-05 17:13:14 +0100 |
commit | 48b9619439818ecb344ae33c9c31a55ecb1aa27a (patch) | |
tree | ef350e3ebf2563adbe4d57778a08f561d912415f /app/assets/javascripts/components/actions | |
parent | 62292797eccc5bcf47abae9f4daaa2c186660644 (diff) |
Adding hashtags
Diffstat (limited to 'app/assets/javascripts/components/actions')
-rw-r--r-- | app/assets/javascripts/components/actions/timelines.jsx | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/app/assets/javascripts/components/actions/timelines.jsx b/app/assets/javascripts/components/actions/timelines.jsx index 01eee1712..1dd770848 100644 --- a/app/assets/javascripts/components/actions/timelines.jsx +++ b/app/assets/javascripts/components/actions/timelines.jsx @@ -1,4 +1,5 @@ import api from '../api' +import Immutable from 'immutable'; export const TIMELINE_UPDATE = 'TIMELINE_UPDATE'; export const TIMELINE_DELETE = 'TIMELINE_DELETE'; @@ -54,20 +55,25 @@ export function refreshTimelineRequest(timeline) { }; }; -export function refreshTimeline(timeline, replace = false) { +export function refreshTimeline(timeline, replace = false, id = null) { return function (dispatch, getState) { dispatch(refreshTimelineRequest(timeline)); - const ids = getState().getIn(['timelines', timeline]); + const ids = getState().getIn(['timelines', timeline], Immutable.List()); const newestId = ids.size > 0 ? ids.first() : null; let params = ''; + let path = timeline; if (newestId !== null && !replace) { params = `?since_id=${newestId}`; } - api(getState).get(`/api/v1/statuses/${timeline}${params}`).then(function (response) { + if (id) { + path = `${path}/${id}` + } + + api(getState).get(`/api/v1/statuses/${path}${params}`).then(function (response) { dispatch(refreshTimelineSuccess(timeline, response.data, replace)); }).catch(function (error) { dispatch(refreshTimelineFail(timeline, error)); @@ -83,13 +89,19 @@ export function refreshTimelineFail(timeline, error) { }; }; -export function expandTimeline(timeline) { +export function expandTimeline(timeline, id = null) { return (dispatch, getState) => { - const lastId = getState().getIn(['timelines', timeline]).last(); + const lastId = getState().getIn(['timelines', timeline], Immutable.List()).last(); dispatch(expandTimelineRequest(timeline)); - api(getState).get(`/api/v1/statuses/${timeline}?max_id=${lastId}`).then(response => { + let path = timeline; + + if (id) { + path = `${path}/${id}` + } + + api(getState).get(`/api/v1/statuses/${path}?max_id=${lastId}`).then(response => { dispatch(expandTimelineSuccess(timeline, response.data)); }).catch(error => { dispatch(expandTimelineFail(timeline, error)); |