blob: 2a49a8a3e95931240f32a8381cd8d8bac10a24c8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import { replace } from 'react-router-redux';
/**
* Add listeners to translate backend events to react router actions
*
* @export
* @param {Backend} backend
* @param {Redux.Store} store
*/
export default function mapBackendEventsToRouter(backend, store) {
// redirect user to main screen after login
backend.on('login', (_account, error) => {
if(error) { return; } // no-op on error
setTimeout(() => {
const { settings } = store.getState();
// auto-connect only if autoSecure is on
if(settings.autoSecure) {
const server = backend.serverInfo(settings.preferredServer);
backend.connect(server.address);
}
store.dispatch(replace('/connect'));
}, 1000);
});
// redirect user to login page on logout
backend.on('logout', () => store.dispatch(replace('/')));
}
|