diff options
| author | Andrej Mihajlov <and@codeispoetry.ru> | 2017-02-28 15:59:59 +0000 |
|---|---|---|
| committer | Andrej Mihajlov <and@codeispoetry.ru> | 2017-02-28 15:59:59 +0000 |
| commit | d3c76c5119cddffcf1848429cac587eee970bfe2 (patch) | |
| tree | d32bac35be530b90d9de04136ef9da4644c91c4a /app | |
| parent | 8acce108f61ff5d581ee765530ba2b90befd9e9d (diff) | |
| download | mullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.tar.xz mullvadvpn-d3c76c5119cddffcf1848429cac587eee970bfe2.zip | |
Move routing logic to app.js
Diffstat (limited to 'app')
| -rw-r--r-- | app/app.js | 11 | ||||
| -rw-r--r-- | app/lib/backend-redux-actions.js | 8 |
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); |
