diff --git a/src/containers/ConnectPage.js b/src/containers/ConnectPage.js index 7a26fed..978716d 100644 --- a/src/containers/ConnectPage.js +++ b/src/containers/ConnectPage.js @@ -33,8 +33,7 @@ class ConnectPage extends React.Component { const { actions, login, router, socket } = props; if (socket.state === STATE_OPEN) { - const loginStatus = login.get("status"); - switch (loginStatus) { + switch (login.status) { case LOGIN_STATUS_UNKNOWN: actions.login.getStatus(); break; diff --git a/src/containers/Footer.js b/src/containers/Footer.js index a5a722b..f28881e 100644 --- a/src/containers/Footer.js +++ b/src/containers/Footer.js @@ -13,17 +13,17 @@ const Footer = ({ login, socket }) => { url={socket.url} /> ); }; Footer.propTypes = { - login: ImmutablePropTypes.map.isRequired, + login: ImmutablePropTypes.record.isRequired, socket: ImmutablePropTypes.record.isRequired }; diff --git a/src/containers/RoomsPane.js b/src/containers/RoomsPane.js index a8e32db..3ba9962 100644 --- a/src/containers/RoomsPane.js +++ b/src/containers/RoomsPane.js @@ -61,7 +61,7 @@ RoomsPane.propTypes = { }; const mapStateToProps = (state) => ({ - loginUserName: state.login.get("username"), + loginUserName: state.login.username, rooms: state.rooms }); diff --git a/src/createRoutes.js b/src/createRoutes.js index fb13e12..ad3e09d 100644 --- a/src/createRoutes.js +++ b/src/createRoutes.js @@ -14,7 +14,7 @@ const createRoutes = (store) => { const requireLoggedIn = (nextState, replaceState) => { let { socket, login } = store.getState(); if (socket.state !== STATE_OPEN || - login.get("status") !== LOGIN_STATUS_SUCCESS) + login.status !== LOGIN_STATUS_SUCCESS) { replaceState({}, "/"); } diff --git a/src/reducers/login.js b/src/reducers/login.js index 59f6c8e..5c490df 100644 --- a/src/reducers/login.js +++ b/src/reducers/login.js @@ -13,10 +13,15 @@ import { LOGIN_STATUS_FAILURE } from "../constants/login"; -const initialState = Immutable.Map({ - status: LOGIN_STATUS_UNKNOWN +const LoginRecord = Immutable.Record({ + status: LOGIN_STATUS_UNKNOWN, + username: undefined, + motd: undefined, + reason: undefined }); +const initialState = new LoginRecord(); + const reduceReceiveMessage = (state, message) => { const { variant, data } = message;