Fix #100 - Add "back" button to certain views

Also fix reloading of timelines after merge-type events
This commit is contained in:
Eugen Rochko
2016-10-19 18:20:19 +02:00
parent 8698cd3281
commit 04bbc57690
10 changed files with 80 additions and 31 deletions

View File

@ -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
};
};

View File

@ -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));
});