diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-08-31 22:58:10 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-08-31 22:58:10 +0200 |
commit | dbae8062f4ff6dcad98c90f6654b27111806013a (patch) | |
tree | 68b423ac1d0c52b601dfac6838e26ce049323f57 /app/assets/javascripts/components/reducers | |
parent | 1e0e17ba85deebd6763ed9414f3cc2e2a23e1dbd (diff) |
Replies in the compose form
Diffstat (limited to 'app/assets/javascripts/components/reducers')
-rw-r--r-- | app/assets/javascripts/components/reducers/compose.jsx | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/app/assets/javascripts/components/reducers/compose.jsx b/app/assets/javascripts/components/reducers/compose.jsx index 93e0c7ebe..601cc6449 100644 --- a/app/assets/javascripts/components/reducers/compose.jsx +++ b/app/assets/javascripts/components/reducers/compose.jsx @@ -1,24 +1,32 @@ -import { COMPOSE_CHANGE, COMPOSE_SUBMIT_REQUEST, COMPOSE_SUBMIT_SUCCESS, COMPOSE_SUBMIT_FAIL } from '../actions/compose'; -import Immutable from 'immutable'; +import * as constants from '../actions/compose'; +import Immutable from 'immutable'; const initialState = Immutable.Map({ text: '', - in_reply_to_id: null, - isSubmitting: false + in_reply_to: null, + is_submitting: false }); export default function compose(state = initialState, action) { switch(action.type) { - case COMPOSE_CHANGE: + case constants.COMPOSE_CHANGE: return state.set('text', action.text); - case COMPOSE_SUBMIT_REQUEST: - return state.set('isSubmitting', true); - case COMPOSE_SUBMIT_SUCCESS: + case constants.COMPOSE_REPLY: return state.withMutations(map => { - map.set('text', '').set('isSubmitting', false); + map.set('in_reply_to', action.payload).set('text', `@${action.payload.getIn(['account', 'acct'])} `); }); - case COMPOSE_SUBMIT_FAIL: - return state.set('isSubmitting', false); + case constants.COMPOSE_REPLY_CANCEL: + return state.withMutations(map => { + map.set('in_reply_to', null).set('text', ''); + }); + case constants.COMPOSE_SUBMIT_REQUEST: + return state.set('is_submitting', true); + case constants.COMPOSE_SUBMIT_SUCCESS: + return state.withMutations(map => { + map.set('text', '').set('is_submitting', false),set('in_reply_to', null); + }); + case constants.COMPOSE_SUBMIT_FAIL: + return state.set('is_submitting', false); default: return state; } |