diff --git a/web/redux/redux-setup.js b/web/redux/redux-setup.js --- a/web/redux/redux-setup.js +++ b/web/redux/redux-setup.js @@ -60,6 +60,7 @@ import { defaultWebState } from './default-state.js'; import reduceNavInfo from './nav-reducer.js'; import { onStateDifference } from './redux-debug-utils.js'; +import reduceServicesAccessToken from './services-access-token-reducer.js'; import { getVisibility } from './visibility.js'; import { processDBStoreOperations } from '../database/utils/store.js'; import { activeThreadSelector } from '../selectors/nav-selectors.js'; @@ -339,6 +340,10 @@ ), cryptoStore: reduceCryptoStore(state.cryptoStore, action), communityPickerStore, + commServicesAccessToken: reduceServicesAccessToken( + state.commServicesAccessToken, + action, + ), }; return validateStateAndProcessDBOperations(oldState, state, storeOperations); diff --git a/web/redux/services-access-token-reducer.js b/web/redux/services-access-token-reducer.js new file mode 100644 --- /dev/null +++ b/web/redux/services-access-token-reducer.js @@ -0,0 +1,21 @@ +// @flow + +import { + identityLogInActionTypes, + identityRegisterActionTypes, +} from 'lib/actions/user-actions.js'; + +import type { Action } from './redux-setup.js'; + +export default function reduceServicesAccessToken( + state: ?string, + action: Action, +): ?string { + if ( + action.type === identityLogInActionTypes.success || + action.type === identityRegisterActionTypes.success + ) { + return action.payload.accessToken; + } + return state; +}