diff options
Diffstat (limited to 'frontend/src/sagas.ts')
-rw-r--r-- | frontend/src/sagas.ts | 23 |
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); +} |