Adding a notification stack for error messages
This commit is contained in:
parent
05b0c985b4
commit
d6a64f45fd
17 changed files with 115 additions and 45 deletions
|
@ -58,4 +58,4 @@ export default function compose(state = initialState, action) {
|
|||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -21,4 +21,4 @@ export default function compose(state = initialState, action) {
|
|||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
|
@ -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
|
||||
});
|
||||
|
|
|
@ -10,4 +10,4 @@ export default function meta(state = initialState, action) {
|
|||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
27
app/assets/javascripts/components/reducers/notifications.jsx
Normal file
27
app/assets/javascripts/components/reducers/notifications.jsx
Normal file
|
@ -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;
|
||||
}
|
||||
};
|
|
@ -66,4 +66,4 @@ export default function timelines(state = initialState, action) {
|
|||
default:
|
||||
return state;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue