summaryrefslogtreecommitdiffhomepage
path: root/app/app.js
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 /app/app.js
parent8acce108f61ff5d581ee765530ba2b90befd9e9d (diff)
downloadmullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.tar.xz
mullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.zip
Move routing logic to app.js
Diffstat (limited to 'app/app.js')
-rw-r--r--app/app.js11
1 files changed, 10 insertions, 1 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);