From 04bbc576906ff70feed7d42fef0e6db17fdd9ed3 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 19 Oct 2016 18:20:19 +0200 Subject: Fix #100 - Add "back" button to certain views Also fix reloading of timelines after merge-type events --- app/assets/javascripts/components/actions/accounts.jsx | 11 ++++++----- app/assets/javascripts/components/actions/timelines.jsx | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'app/assets/javascripts/components/actions') diff --git a/app/assets/javascripts/components/actions/accounts.jsx b/app/assets/javascripts/components/actions/accounts.jsx index c1c99d6bd..eacbeef06 100644 --- a/app/assets/javascripts/components/actions/accounts.jsx +++ b/app/assets/javascripts/components/actions/accounts.jsx @@ -53,7 +53,7 @@ export function fetchAccount(id) { }; }; -export function fetchAccountTimeline(id) { +export function fetchAccountTimeline(id, replace = false) { return (dispatch, getState) => { dispatch(fetchAccountTimelineRequest(id)); @@ -62,12 +62,12 @@ export function fetchAccountTimeline(id) { let params = ''; - if (newestId !== null) { + if (newestId !== null && !replace) { params = `?since_id=${newestId}`; } api(getState).get(`/api/v1/accounts/${id}/statuses${params}`).then(response => { - dispatch(fetchAccountTimelineSuccess(id, response.data)); + dispatch(fetchAccountTimelineSuccess(id, response.data, replace)); }).catch(error => { dispatch(fetchAccountTimelineFail(id, error)); }); @@ -184,11 +184,12 @@ export function fetchAccountTimelineRequest(id) { }; }; -export function fetchAccountTimelineSuccess(id, statuses) { +export function fetchAccountTimelineSuccess(id, statuses, replace) { return { type: ACCOUNT_TIMELINE_FETCH_SUCCESS, id: id, - statuses: statuses + statuses: statuses, + replace: replace }; }; diff --git a/app/assets/javascripts/components/actions/timelines.jsx b/app/assets/javascripts/components/actions/timelines.jsx index 5258d7103..831065feb 100644 --- a/app/assets/javascripts/components/actions/timelines.jsx +++ b/app/assets/javascripts/components/actions/timelines.jsx @@ -11,11 +11,12 @@ export const TIMELINE_EXPAND_REQUEST = 'TIMELINE_EXPAND_REQUEST'; export const TIMELINE_EXPAND_SUCCESS = 'TIMELINE_EXPAND_SUCCESS'; export const TIMELINE_EXPAND_FAIL = 'TIMELINE_EXPAND_FAIL'; -export function refreshTimelineSuccess(timeline, statuses) { +export function refreshTimelineSuccess(timeline, statuses, replace) { return { type: TIMELINE_REFRESH_SUCCESS, timeline: timeline, - statuses: statuses + statuses: statuses, + replace: replace }; }; @@ -41,7 +42,7 @@ export function refreshTimelineRequest(timeline) { }; }; -export function refreshTimeline(timeline) { +export function refreshTimeline(timeline, replace = false) { return function (dispatch, getState) { dispatch(refreshTimelineRequest(timeline)); @@ -50,12 +51,12 @@ export function refreshTimeline(timeline) { let params = ''; - if (newestId !== null) { + if (newestId !== null && !replace) { params = `?since_id=${newestId}`; } api(getState).get(`/api/v1/statuses/${timeline}${params}`).then(function (response) { - dispatch(refreshTimelineSuccess(timeline, response.data)); + dispatch(refreshTimelineSuccess(timeline, response.data, replace)); }).catch(function (error) { dispatch(refreshTimelineFail(timeline, error)); }); -- cgit