123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import ReducerRegistry from '../base/redux/ReducerRegistry';
-
- import {
- SET_GOOGLE_API_PROFILE,
- SET_GOOGLE_API_STATE
- } from './actionTypes';
- import { GOOGLE_API_STATES } from './constants';
-
- /**
- * The default state is the Google API needs loading.
- *
- * @type {{googleAPIState: number}}
- */
- const DEFAULT_STATE = {
- googleAPIState: GOOGLE_API_STATES.NEEDS_LOADING,
- profileEmail: ''
- };
-
- export interface IGoogleApiState {
- googleAPIState: number;
- googleResponse?: Object;
- profileEmail: string;
- }
-
- /**
- * Reduces the Redux actions of the feature features/google-api.
- */
- ReducerRegistry.register<IGoogleApiState>('features/google-api',
- (state = DEFAULT_STATE, action): IGoogleApiState => {
- switch (action.type) {
- case SET_GOOGLE_API_STATE:
- return {
- ...state,
- googleAPIState: action.googleAPIState,
- googleResponse: action.googleResponse
- };
- case SET_GOOGLE_API_PROFILE:
- return {
- ...state,
- profileEmail: action.profileEmail
- };
- }
-
- return state;
- });
|