1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-07-19 13:19:44 +02:00
planka/client/src/containers/LoginContainer.js

65 lines
1.3 KiB
JavaScript
Raw Normal View History

2019-08-31 04:07:25 +05:00
import { bindActionCreators } from 'redux';
import { connect } from 'react-redux';
import { authenticate, clearAuthenticationError } from '../actions/entry';
import Login from '../components/Login';
const mapStateToProps = ({ login: { data: defaultData, isSubmitting, error: externalError } }) => {
let error;
if (externalError) {
switch (externalError.message) {
case 'Email does not exist':
error = {
message: 'emailDoesNotExist',
};
break;
case 'Password is not valid':
error = {
message: 'invalidPassword',
};
break;
case 'Failed to fetch':
error = {
type: 'warning',
message: 'noInternetConnection',
};
break;
case 'Network request failed':
error = {
type: 'warning',
message: 'serverConnectionFailed',
};
break;
default:
error = {
type: 'warning',
message: 'unknownError',
};
}
}
return {
defaultData,
isSubmitting,
error,
};
};
const mapDispatchToProps = (dispatch) => bindActionCreators(
{
onAuthenticate: authenticate,
onMessageDismiss: clearAuthenticationError,
},
dispatch,
);
export default connect(
mapStateToProps,
mapDispatchToProps,
)(Login);