[MM-25794] Ensure state teams and members are up-to-date (#4454)
* Ensure state teams and members are up-to-date * Remove trailing spaces
This commit is contained in:
parent
4dff2cc80c
commit
12c29c0673
1 changed files with 24 additions and 4 deletions
|
|
@ -5,6 +5,10 @@ import React, {PureComponent} from 'react';
|
|||
import {Provider} from 'react-redux';
|
||||
import {IntlProvider} from 'react-intl';
|
||||
|
||||
import {getMyTeams, getMyTeamMembers, selectTeam} from '@mm-redux/actions/teams';
|
||||
|
||||
import {selectDefaultTeam} from '@actions/views/select_team';
|
||||
import {selectDefaultChannel, loadChannelsForTeam} from '@actions/views/channel';
|
||||
import {getTranslations} from '@i18n';
|
||||
import {getCurrentLocale} from '@selectors/i18n';
|
||||
import configureStore from '@store';
|
||||
|
|
@ -44,14 +48,30 @@ export default class ShareApp extends PureComponent {
|
|||
if (MMKVStorage) {
|
||||
configureStore(MMKVStorage);
|
||||
}
|
||||
waitForHydration(Store.redux, () => {
|
||||
const {dispatch, getState} = Store.redux;
|
||||
const {currentTeamId} = getState().entities.teams;
|
||||
dispatch(extensionSelectTeamId(currentTeamId));
|
||||
waitForHydration(Store.redux, async () => {
|
||||
await this.initTeamAndChannel(Store.redux);
|
||||
|
||||
this.setState({init: true});
|
||||
});
|
||||
}
|
||||
|
||||
initTeamAndChannel = async ({dispatch, getState}) => {
|
||||
await dispatch(getMyTeams());
|
||||
await dispatch(getMyTeamMembers());
|
||||
|
||||
const {myMembers} = getState().entities.teams;
|
||||
if (Object.keys(myMembers).length === 0) {
|
||||
dispatch(selectTeam(''));
|
||||
dispatch(extensionSelectTeamId(''));
|
||||
} else {
|
||||
await dispatch(selectDefaultTeam());
|
||||
const {currentTeamId} = getState().entities.teams;
|
||||
await dispatch(loadChannelsForTeam(currentTeamId));
|
||||
await dispatch(selectDefaultChannel(currentTeamId));
|
||||
dispatch(extensionSelectTeamId(currentTeamId));
|
||||
}
|
||||
}
|
||||
|
||||
render() {
|
||||
if (!this.state.init) {
|
||||
return null;
|
||||
|
|
|
|||
Loading…
Reference in a new issue