diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-12 19:20:55 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-09-12 19:20:55 +0200 |
commit | d6a64f45fd4530cfee4f7721f0c6e7ca28fe677f (patch) | |
tree | 64b6813d49d458c5833f40c9668c4677f56eaf42 /app/assets/javascripts/components/reducers | |
parent | 05b0c985b4d4b313e75ae506fb43b5690afade8d (diff) |
Adding a notification stack for error messages
Diffstat (limited to 'app/assets/javascripts/components/reducers')
6 files changed, 34 insertions, 5 deletions
diff --git a/app/assets/javascripts/components/reducers/compose.jsx b/app/assets/javascripts/components/reducers/compose.jsx index b4a21b874..c0d9f4ff2 100644 --- a/app/assets/javascripts/components/reducers/compose.jsx +++ b/app/assets/javascripts/components/reducers/compose.jsx @@ -58,4 +58,4 @@ export default function compose(state = initialState, action) { default: return state; } -} +}; diff --git a/app/assets/javascripts/components/reducers/follow.jsx b/app/assets/javascripts/components/reducers/follow.jsx index 348510eaf..838f12259 100644 --- a/app/assets/javascripts/components/reducers/follow.jsx +++ b/app/assets/javascripts/components/reducers/follow.jsx @@ -21,4 +21,4 @@ export default function compose(state = initialState, action) { default: return state; } -} +}; diff --git a/app/assets/javascripts/components/reducers/index.jsx b/app/assets/javascripts/components/reducers/index.jsx index 3f3e1e928..6d275654a 100644 --- a/app/assets/javascripts/components/reducers/index.jsx +++ b/app/assets/javascripts/components/reducers/index.jsx @@ -3,10 +3,12 @@ import timelines from './timelines'; import meta from './meta'; import compose from './compose'; import follow from './follow'; +import notifications from './notifications'; export default combineReducers({ timelines, meta, compose, - follow + follow, + notifications }); diff --git a/app/assets/javascripts/components/reducers/meta.jsx b/app/assets/javascripts/components/reducers/meta.jsx index d65c3c36d..71a14dbd3 100644 --- a/app/assets/javascripts/components/reducers/meta.jsx +++ b/app/assets/javascripts/components/reducers/meta.jsx @@ -10,4 +10,4 @@ export default function meta(state = initialState, action) { default: return state; } -} +}; diff --git a/app/assets/javascripts/components/reducers/notifications.jsx b/app/assets/javascripts/components/reducers/notifications.jsx new file mode 100644 index 000000000..6ba453292 --- /dev/null +++ b/app/assets/javascripts/components/reducers/notifications.jsx @@ -0,0 +1,27 @@ +import { COMPOSE_SUBMIT_FAIL, COMPOSE_UPLOAD_FAIL } from '../actions/compose'; +import { FOLLOW_SUBMIT_FAIL } from '../actions/follow'; +import { REBLOG_FAIL, FAVOURITE_FAIL } from '../actions/interactions'; +import { TIMELINE_REFRESH_FAIL } from '../actions/timelines'; +import { NOTIFICATION_DISMISS } from '../actions/notifications'; +import Immutable from 'immutable'; + +const initialState = Immutable.List(); + +export default function meta(state = initialState, action) { + switch(action.type) { + case COMPOSE_SUBMIT_FAIL: + case COMPOSE_UPLOAD_FAIL: + case FOLLOW_SUBMIT_FAIL: + case REBLOG_FAIL: + case FAVOURITE_FAIL: + case TIMELINE_REFRESH_FAIL: + return state.push(Immutable.fromJS({ + message: action.error.response.statusText, + title: `${action.error.response.status}` + })); + case NOTIFICATION_DISMISS: + return state.clear(); + default: + return state; + } +}; diff --git a/app/assets/javascripts/components/reducers/timelines.jsx b/app/assets/javascripts/components/reducers/timelines.jsx index fb990ef54..b6ecdfb1f 100644 --- a/app/assets/javascripts/components/reducers/timelines.jsx +++ b/app/assets/javascripts/components/reducers/timelines.jsx @@ -66,4 +66,4 @@ export default function timelines(state = initialState, action) { default: return state; } -} +}; |