From 8c0b19012bae203f41b75cf40d6baf121f67fdea Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Sat, 17 Sep 2016 16:36:10 +0200 Subject: Fix #41, debug #42 --- .../components/reducers/notifications.jsx | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'app/assets/javascripts/components/reducers') diff --git a/app/assets/javascripts/components/reducers/notifications.jsx b/app/assets/javascripts/components/reducers/notifications.jsx index 6ba453292..bdd2de993 100644 --- a/app/assets/javascripts/components/reducers/notifications.jsx +++ b/app/assets/javascripts/components/reducers/notifications.jsx @@ -7,6 +7,23 @@ import Immutable from 'immutable'; const initialState = Immutable.List(); +function notificationFromError(state, error) { + let n = Immutable.Map({ + message: '' + }); + + if (error.response) { + n = n.withMutations(map => { + map.set('message', error.response.statusText); + map.set('title', `${error.response.status}`); + }); + } else { + n = n.set('message', `${error}`); + } + + return state.push(n); +}; + export default function meta(state = initialState, action) { switch(action.type) { case COMPOSE_SUBMIT_FAIL: @@ -15,10 +32,7 @@ export default function meta(state = initialState, action) { 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}` - })); + return notificationFromError(state, action.error); case NOTIFICATION_DISMISS: return state.clear(); default: -- cgit