summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@codeispoetry.ru>2017-02-28 15:59:59 +0000
committerAndrej Mihajlov <and@codeispoetry.ru>2017-02-28 15:59:59 +0000
commitd3c76c5119cddffcf1848429cac587eee970bfe2 (patch)
treed32bac35be530b90d9de04136ef9da4644c91c4a
parent8acce108f61ff5d581ee765530ba2b90befd9e9d (diff)
downloadmullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.tar.xz
mullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.zip
Move routing logic to app.js
-rw-r--r--app/app.js11
-rw-r--r--app/lib/backend-redux-actions.js8
2 files changed, 11 insertions, 8 deletions
diff --git a/app/app.js b/app/app.js
index 820236671f..43ad0d959a 100644
--- a/app/app.js
+++ b/app/app.js
@@ -2,7 +2,7 @@ import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { Router, createMemoryHistory } from 'react-router';
-import { syncHistoryWithStore } from 'react-router-redux';
+import { syncHistoryWithStore, replace } from 'react-router-redux';
import { webFrame, ipcRenderer } from 'electron';
import makeRoutes from './routes';
import configureStore from './store';
@@ -87,6 +87,15 @@ syncBackendWithReduxStore(backend, store);
// Setup primary event handlers to translate backend events into redux dispatch
mapBackendEventsToReduxActions(backend, store);
+// redirect user to main screen after login
+backend.on(Backend.EventType.login, (addr, error) => {
+ if(error) { return; }
+ setTimeout(() => store.dispatch(replace('/connect')), 1000);
+});
+
+// redirect user to login page on logout
+backend.on(Backend.EventType.logout, () => store.dispatch(replace('/')));
+
// Setup events to update tray icon
backend.on(Backend.EventType.connect, updateTrayIcon);
backend.on(Backend.EventType.disconnect, updateTrayIcon);
diff --git a/app/lib/backend-redux-actions.js b/app/lib/backend-redux-actions.js
index bef61f2579..c14f3f0cf0 100644
--- a/app/lib/backend-redux-actions.js
+++ b/app/lib/backend-redux-actions.js
@@ -48,10 +48,7 @@ export default function mapBackendEventsToReduxActions(backend, store) {
const server = backend.serverInfo(preferredServer);
// auto-connect
- setTimeout(() => {
- backend.connect(server.address);
- store.dispatch(replace('/connect'));
- }, 1000);
+ setTimeout(() => backend.connect(server.address), 1000);
}
};
@@ -61,9 +58,6 @@ export default function mapBackendEventsToReduxActions(backend, store) {
account: null,
error: null
}));
-
- // return to login screen
- store.dispatch(replace('/'));
};
backend.on(Backend.EventType.updatedIp, onUpdateIp);