diff --git a/src/components/ConnectForm.js b/src/components/ConnectForm.js
index 1fae4b1..a78fb21 100644
--- a/src/components/ConnectForm.js
+++ b/src/components/ConnectForm.js
@@ -1,5 +1,6 @@
import React, {PropTypes} from "react";
import {reduxForm} from "redux-form";
+import ImmutablePropTypes from "react-immutable-proptypes";
import SocketStatusPane from "./SocketStatusPane";
import { STATE_CLOSED } from "../constants/socket";
@@ -11,26 +12,31 @@ const ConnectForm = (props) => {
return actions.socket.open(values.url, actions.socketHandlers);
});
+ const isSocketClosed = socket.get("state") === STATE_CLOSED;
+
return (
Connect to a solstice client
-
+
);
};
ConnectForm.propTypes = {
- fields: PropTypes.object.isRequired,
+ fields: PropTypes.object.isRequired,
handleSubmit: PropTypes.func.isRequired,
- socket: PropTypes.object.isRequired,
- actions: PropTypes.object.isRequired
+ socket: ImmutablePropTypes.map.isRequired,
+ actions: PropTypes.object.isRequired
};
export default reduxForm({
diff --git a/src/components/SocketStatusPane.js b/src/components/SocketStatusPane.js
index 1af38d6..ad44ad9 100644
--- a/src/components/SocketStatusPane.js
+++ b/src/components/SocketStatusPane.js
@@ -4,8 +4,7 @@ import {
STATE_OPENING, STATE_OPEN, STATE_CLOSING, STATE_CLOSED
} from "../constants/socket";
-const SocketStatusPane = (props) => {
- const { state, url } = props;
+const SocketStatusPane = ({ state, url }) => {
let string;
switch (state) {
case STATE_OPENING:
diff --git a/src/containers/ConnectPage.js b/src/containers/ConnectPage.js
index 7a26fed..876bb24 100644
--- a/src/containers/ConnectPage.js
+++ b/src/containers/ConnectPage.js
@@ -31,7 +31,7 @@ class ConnectPage extends React.Component {
getLoginStatusOrRedirect(props) {
const { actions, login, router, socket } = props;
- if (socket.state === STATE_OPEN)
+ if (socket.get("state") === STATE_OPEN)
{
const loginStatus = login.get("status");
switch (loginStatus) {
diff --git a/src/containers/Footer.js b/src/containers/Footer.js
index 99d8e8c..506ac3c 100644
--- a/src/containers/Footer.js
+++ b/src/containers/Footer.js
@@ -8,7 +8,10 @@ import SocketStatusPane from "../components/SocketStatusPane";
const Footer = ({ login, socket }) => {
return (