diff options
| author | Andrej Mihajlov <and@codeispoetry.ru> | 2017-03-01 12:17:07 +0000 |
|---|---|---|
| committer | Andrej Mihajlov <and@codeispoetry.ru> | 2017-03-01 12:17:07 +0000 |
| commit | 5a86b08fb46cbfee360d349668e1e1dc3ad470be (patch) | |
| tree | 4f867baaec22fb81f5f86244b9bed1a5e87dbce3 /app/lib | |
| parent | 156cc54f9a8582efd6468b7465b54e093306bf37 (diff) | |
| download | mullvadvpn-5a86b08fb46cbfee360d349668e1e1dc3ad470be.tar.xz mullvadvpn-5a86b08fb46cbfee360d349668e1e1dc3ad470be.zip | |
Move routing based from backend events into separate module for improved testability
Diffstat (limited to 'app/lib')
| -rw-r--r-- | app/lib/backend-routing.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/app/lib/backend-routing.js b/app/lib/backend-routing.js new file mode 100644 index 0000000000..7ff114f709 --- /dev/null +++ b/app/lib/backend-routing.js @@ -0,0 +1,19 @@ +import { replace } from 'react-router-redux'; +import Backend from './backend'; + +export default function mapBackendEventsToRouter(backend, store) { + // redirect user to main screen after login + backend.on(Backend.EventType.login, (account, error) => { + if(error) { return; } // no-op on error + + setTimeout(() => { + const { settings } = store.getState(); + const server = backend.serverInfo(settings.preferredServer); + backend.connect(server.address); + store.dispatch(replace('/connect')); + }, 1000); + }); + + // redirect user to login page on logout + backend.on(Backend.EventType.logout, () => store.dispatch(replace('/'))); +}
\ No newline at end of file |
