export const CONTEXT_FETCH_SUCCESS = 'CONTEXT_FETCH_SUCCESS';
export const CONTEXT_FETCH_FAIL = 'CONTEXT_FETCH_FAIL';
-export function fetchStatusRequest(id) {
+export function fetchStatusRequest(id, skipLoading) {
return {
type: STATUS_FETCH_REQUEST,
- id: id
+ id,
+ skipLoading
};
};
export function fetchStatus(id) {
return (dispatch, getState) => {
- dispatch(fetchStatusRequest(id));
+ const skipLoading = getState().getIn(['statuses', id], null) !== null;
+
+ dispatch(fetchStatusRequest(id, skipLoading));
api(getState).get(`/api/v1/statuses/${id}`).then(response => {
- dispatch(fetchStatusSuccess(response.data));
+ dispatch(fetchStatusSuccess(response.data, skipLoading));
dispatch(fetchContext(id));
}).catch(error => {
- dispatch(fetchStatusFail(id, error));
+ dispatch(fetchStatusFail(id, error, skipLoading));
});
};
};
-export function fetchStatusSuccess(status, context) {
+export function fetchStatusSuccess(status, skipLoading) {
return {
type: STATUS_FETCH_SUCCESS,
- status: status,
- context: context
+ status,
+ skipLoading
};
};
-export function fetchStatusFail(id, error) {
+export function fetchStatusFail(id, error, skipLoading) {
return {
type: STATUS_FETCH_FAIL,
- id: id,
- error: error
+ id,
+ error,
+ skipLoading
};
};
end
def context
- @context = OpenStruct.new(ancestors: @status.ancestors(current_account), descendants: @status.descendants(current_account))
+ @context = OpenStruct.new(ancestors: @status.in_reply_to_id.nil? ? [] : @status.ancestors(current_account), descendants: @status.descendants(current_account))
statuses = [@status] + @context[:ancestors] + @context[:descendants]
set_maps(statuses)