[Glitch] Use raw content if available on Delete & Redraft

Port front-end changes from 2a917031c9 to glitch-soc
lolsob-rspec
ThibG 2019-05-11 06:46:43 +02:00 committed by Thibaut Girka
parent 5262820fae
commit c8195e2da1
2 changed files with 5 additions and 4 deletions

View File

@ -71,10 +71,11 @@ export function fetchStatusFail(id, error, skipLoading) {
}; };
}; };
export function redraft(status) { export function redraft(status, raw_text) {
return { return {
type: REDRAFT, type: REDRAFT,
status, status,
raw_text,
}; };
}; };
@ -88,12 +89,12 @@ export function deleteStatus(id, router, withRedraft = false) {
dispatch(deleteStatusRequest(id)); dispatch(deleteStatusRequest(id));
api(getState).delete(`/api/v1/statuses/${id}`).then(() => { api(getState).delete(`/api/v1/statuses/${id}`).then(response => {
dispatch(deleteStatusSuccess(id)); dispatch(deleteStatusSuccess(id));
dispatch(deleteFromTimelines(id)); dispatch(deleteFromTimelines(id));
if (withRedraft) { if (withRedraft) {
dispatch(redraft(status)); dispatch(redraft(status, response.data.text));
if (!getState().getIn(['compose', 'mounted'])) { if (!getState().getIn(['compose', 'mounted'])) {
router.push('/statuses/new'); router.push('/statuses/new');

View File

@ -426,7 +426,7 @@ export default function compose(state = initialState, action) {
return state.mergeIn(['doodle'], action.options); return state.mergeIn(['doodle'], action.options);
case REDRAFT: case REDRAFT:
return state.withMutations(map => { return state.withMutations(map => {
map.set('text', unescapeHTML(expandMentions(action.status))); map.set('text', action.raw_text || unescapeHTML(expandMentions(action.status)));
map.set('in_reply_to', action.status.get('in_reply_to_id')); map.set('in_reply_to', action.status.get('in_reply_to_id'));
map.set('privacy', action.status.get('visibility')); map.set('privacy', action.status.get('visibility'));
map.set('media_attachments', action.status.get('media_attachments')); map.set('media_attachments', action.status.get('media_attachments'));