Skip to content
Snippets Groups Projects
Commit 49f42562 authored by HAUTBOIS Aurelie's avatar HAUTBOIS Aurelie
Browse files

add redux section to initialization

parent 5def6f7f
No related branches found
No related tags found
No related merge requests found
Pipeline #12457 passed
......@@ -133,3 +133,27 @@ UserDuelEntity {
### Data managment schema
![Data Scheme](/img/challengeFlow.png)
## Redux
There are two main store created for this app:
- Cozy: store information about cozy (konnectors, accounts, settings, db)
- Ecolyo: store all states used for this app
For a better state management, combineReducers(reducers) is used to split the reducing function into seperate functions. So, each managing independent parts of the state.
### Ecolyo Store Structure
| Reducer | Type | Description |
| --------- | -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| global | GlobalState | store global states such as: notification, type device or fluid type<br><br>GlobalState enum<br>- _screenType = ScreenType_<br>- _challengeExplorationNotification = boolean_<br>- _challengeActionNotification = boolean_<br>- _challengeDuelNotification = boolean_<br>- _analysisNotification = boolean_<br>- _fluidStatus = FluidStatus[]_<br>- _fluidTypes = FluidType[]_ |
| profile | Profile | store states about profile information such as: notification, connectionDate, profileType |
| chart | ChartState | store consumption chart states such as: timeStep, graph data<br><br>ChartState enum<br>- _selectedDate = DateTime_<br>- _currentTimeStep = TimeStep_<br>- _currentIndex = number_<br>- _currentDatachart = Datachart_<br>- _currentDatachartIndex = number_<br>- _loading = boolean_ |
| modal | ModalState | store opening state of the feedback modal <br><br>ModalState enum<br>- _isFeedbacksOpen = boolean_ |
| challenge | ChallengeState | store challenge state such as: list of user challenge, data load and current challenge <br><br>ChallengeState enum<br>- _userChallengeList = UserChallenge[]_<br>- _currentChallenge = UserChallenge_<br>- _currentDataload = Dataload[]_ |
### Updating state process
Redux-thunk middleware is configured. For now, it is used only for updating the profile.
To update a state, a webservice method is called before trigger a state change inside the store.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment