From 72591cc6d59d774e66d1d42af44bdc00f71f99f8 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Wed, 31 Aug 2016 16:15:12 +0200 Subject: Cleaning up action names and compose drawer --- .../javascripts/components/reducers/compose.jsx | 25 ++++++++++++++++++++++ .../javascripts/components/reducers/index.jsx | 8 ++++--- .../javascripts/components/reducers/meta.jsx | 4 ++-- .../javascripts/components/reducers/statuses.jsx | 17 --------------- .../javascripts/components/reducers/timelines.jsx | 17 +++++++++++++++ 5 files changed, 49 insertions(+), 22 deletions(-) create mode 100644 app/assets/javascripts/components/reducers/compose.jsx delete mode 100644 app/assets/javascripts/components/reducers/statuses.jsx create mode 100644 app/assets/javascripts/components/reducers/timelines.jsx (limited to 'app/assets/javascripts/components/reducers') diff --git a/app/assets/javascripts/components/reducers/compose.jsx b/app/assets/javascripts/components/reducers/compose.jsx new file mode 100644 index 000000000..93e0c7ebe --- /dev/null +++ b/app/assets/javascripts/components/reducers/compose.jsx @@ -0,0 +1,25 @@ +import { COMPOSE_CHANGE, COMPOSE_SUBMIT_REQUEST, COMPOSE_SUBMIT_SUCCESS, COMPOSE_SUBMIT_FAIL } from '../actions/compose'; +import Immutable from 'immutable'; + +const initialState = Immutable.Map({ + text: '', + in_reply_to_id: null, + isSubmitting: false +}); + +export default function compose(state = initialState, action) { + switch(action.type) { + case COMPOSE_CHANGE: + return state.set('text', action.text); + case COMPOSE_SUBMIT_REQUEST: + return state.set('isSubmitting', true); + case COMPOSE_SUBMIT_SUCCESS: + return state.withMutations(map => { + map.set('text', '').set('isSubmitting', false); + }); + case COMPOSE_SUBMIT_FAIL: + return state.set('isSubmitting', false); + default: + return state; + } +} diff --git a/app/assets/javascripts/components/reducers/index.jsx b/app/assets/javascripts/components/reducers/index.jsx index 96c026c8c..9acbfcf46 100644 --- a/app/assets/javascripts/components/reducers/index.jsx +++ b/app/assets/javascripts/components/reducers/index.jsx @@ -1,8 +1,10 @@ import { combineReducers } from 'redux-immutable'; -import statuses from './statuses'; +import timelines from './timelines'; import meta from './meta'; +import compose from './compose'; export default combineReducers({ - statuses, - meta + timelines, + meta, + compose }); diff --git a/app/assets/javascripts/components/reducers/meta.jsx b/app/assets/javascripts/components/reducers/meta.jsx index 401be435d..d65c3c36d 100644 --- a/app/assets/javascripts/components/reducers/meta.jsx +++ b/app/assets/javascripts/components/reducers/meta.jsx @@ -1,11 +1,11 @@ -import { SET_ACCESS_TOKEN } from '../actions/meta'; +import { ACCESS_TOKEN_SET } from '../actions/meta'; import Immutable from 'immutable'; const initialState = Immutable.Map(); export default function meta(state = initialState, action) { switch(action.type) { - case SET_ACCESS_TOKEN: + case ACCESS_TOKEN_SET: return state.set('access_token', action.token); default: return state; diff --git a/app/assets/javascripts/components/reducers/statuses.jsx b/app/assets/javascripts/components/reducers/statuses.jsx deleted file mode 100644 index 9f0cb207e..000000000 --- a/app/assets/javascripts/components/reducers/statuses.jsx +++ /dev/null @@ -1,17 +0,0 @@ -import { SET_TIMELINE, ADD_STATUS } from '../actions/statuses'; -import Immutable from 'immutable'; - -const initialState = Immutable.Map(); - -export default function statuses(state = initialState, action) { - switch(action.type) { - case SET_TIMELINE: - return state.set(action.timeline, Immutable.fromJS(action.statuses)); - case ADD_STATUS: - return state.update(action.timeline, function (list) { - return list.unshift(Immutable.fromJS(action.status)); - }); - default: - return state; - } -} diff --git a/app/assets/javascripts/components/reducers/timelines.jsx b/app/assets/javascripts/components/reducers/timelines.jsx new file mode 100644 index 000000000..2e0f70c24 --- /dev/null +++ b/app/assets/javascripts/components/reducers/timelines.jsx @@ -0,0 +1,17 @@ +import { TIMELINE_SET, TIMELINE_UPDATE } from '../actions/timelines'; +import Immutable from 'immutable'; + +const initialState = Immutable.Map(); + +export default function timelines(state = initialState, action) { + switch(action.type) { + case TIMELINE_SET: + return state.set(action.timeline, Immutable.fromJS(action.statuses)); + case TIMELINE_UPDATE: + return state.update(action.timeline, function (list) { + return list.unshift(Immutable.fromJS(action.status)); + }); + default: + return state; + } +} -- cgit