Fix init hack

This commit is contained in:
Drew DeVault 2017-12-30 10:43:45 -05:00
parent c3f8631a57
commit 0e47716cc7
2 changed files with 16 additions and 16 deletions

View File

@ -16,13 +16,7 @@ import Nav from './ui/navigation';
import Main from './ui/main';
import Connection from './ui/connection';
let skip_init = false;
export function initialize(uri) {
if (skip_init) {
skip_init = false;
return;
}
store.dispatch(socket_uri(uri));
store.dispatch(socket_update(SOCKET_STATE.CONNECTING));
ws_init(uri, () => {
@ -53,7 +47,6 @@ render(<Main />);
if (module.hot) {
module.hot.accept('./ui/main.js', () => {
const NextMain = require('./ui/main.js').default;
skip_init = true;
render(<NextMain />);
});
}

View File

@ -19,15 +19,22 @@ class ConnectionOverlay extends Component {
constructor() {
super();
this.connect = this.connect.bind(this);
const uri = localStorage.getItem("autoconnect");
const password = localStorage.getItem("password");
this.state = {
uri: uri || "ws://127.0.0.1:8412",
password,
autoconnect: !!uri
};
if (uri) {
initialize(getURI(this.state.uri, this.state.password));
this.componentDidMount = this.componentDidMount.bind(this);
}
componentDidMount() {
const { socket } = this.props;
if (socket.state === SOCKET_STATE.DISCONNECTED) {
const uri = localStorage.getItem("autoconnect");
const password = localStorage.getItem("password");
this.state = {
uri: uri || "ws://127.0.0.1:8412",
password,
autoconnect: !!uri
};
if (uri) {
initialize(getURI(this.state.uri, this.state.password));
}
}
}