summaryrefslogtreecommitdiffhomepage
path: root/app/lib
diff options
context:
space:
mode:
authorAndrej Mihajlov <and@codeispoetry.ru>2017-03-01 12:17:07 +0000
committerAndrej Mihajlov <and@codeispoetry.ru>2017-03-01 12:17:07 +0000
commit5a86b08fb46cbfee360d349668e1e1dc3ad470be (patch)
tree4f867baaec22fb81f5f86244b9bed1a5e87dbce3 /app/lib
parent156cc54f9a8582efd6468b7465b54e093306bf37 (diff)
downloadmullvadvpn-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.js19
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