diff options
-rw-r--r-- | app/assets/javascripts/components/actions/compose.jsx | 12 | ||||
-rw-r--r-- | app/assets/javascripts/components/reducers/timelines.jsx | 4 |
2 files changed, 13 insertions, 3 deletions
diff --git a/app/assets/javascripts/components/actions/compose.jsx b/app/assets/javascripts/components/actions/compose.jsx index b576c7444..228469df1 100644 --- a/app/assets/javascripts/components/actions/compose.jsx +++ b/app/assets/javascripts/components/actions/compose.jsx @@ -1,5 +1,7 @@ import api from '../api' +import { updateTimeline } from './timelines'; + export const COMPOSE_CHANGE = 'COMPOSE_CHANGE'; export const COMPOSE_SUBMIT_REQUEST = 'COMPOSE_SUBMIT_REQUEST'; export const COMPOSE_SUBMIT_SUCCESS = 'COMPOSE_SUBMIT_SUCCESS'; @@ -66,9 +68,13 @@ export function submitComposeRequest() { }; export function submitComposeSuccess(status) { - return { - type: COMPOSE_SUBMIT_SUCCESS, - status: status + return (dispatch, getState) => { + dispatch({ + type: COMPOSE_SUBMIT_SUCCESS, + status: status + }); + + dispatch(updateTimeline('home', status)); }; }; diff --git a/app/assets/javascripts/components/reducers/timelines.jsx b/app/assets/javascripts/components/reducers/timelines.jsx index db13cad31..c12d1b70d 100644 --- a/app/assets/javascripts/components/reducers/timelines.jsx +++ b/app/assets/javascripts/components/reducers/timelines.jsx @@ -95,6 +95,10 @@ const updateTimeline = (state, timeline, status, references) => { state = normalizeStatus(state, status); state = state.update(timeline, list => { + if (list.includes(status.get('id'))) { + return list; + } + const reblogOfId = status.getIn(['reblog', 'id'], null); if (reblogOfId !== null) { |