summaryrefslogtreecommitdiff
path: root/frontend/src/sagas.ts
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/src/sagas.ts')
-rw-r--r--frontend/src/sagas.ts23
1 files changed, 23 insertions, 0 deletions
diff --git a/frontend/src/sagas.ts b/frontend/src/sagas.ts
new file mode 100644
index 00000000..03c71b63
--- /dev/null
+++ b/frontend/src/sagas.ts
@@ -0,0 +1,23 @@
+import { SagaIterator } from 'redux-saga';
+import { call, fork } from 'redux-saga/effects';
+import { connectToGame, SevenWondersSession } from './api/sevenWondersApi';
+import { errorHandlingSaga } from './sagas/errors';
+import { gameSaga } from './sagas/game';
+import { gameBrowserSaga } from './sagas/gameBrowser';
+import { homeSaga } from './sagas/home';
+import { lobbySaga } from './sagas/lobby';
+
+export function* rootSaga(): SagaIterator {
+ let sevenWondersSession: SevenWondersSession;
+ try {
+ sevenWondersSession = yield call(connectToGame);
+ } catch (error) {
+ console.error('Could not connect to socket', error);
+ return;
+ }
+ yield fork(errorHandlingSaga, sevenWondersSession);
+ yield fork(homeSaga, sevenWondersSession);
+ yield fork(gameBrowserSaga, sevenWondersSession);
+ yield fork(lobbySaga, sevenWondersSession);
+ yield fork(gameSaga, sevenWondersSession);
+}
bgstack15