Files
jitsi-meet/react/features/mobile/background/reducer.ts
2023-05-09 12:10:46 +03:00

39 lines
860 B
TypeScript

import { AppStateStatus } from 'react-native';
import ReducerRegistry from '../../base/redux/ReducerRegistry';
import {
APP_STATE_CHANGED,
_SET_APP_STATE_LISTENER
} from './actionTypes';
export interface IBackgroundState {
appState: string;
appStateListener?: (state: AppStateStatus) => void;
}
/**
* The default/initial redux state of the feature background.
*/
const DEFAULT_STATE = {
appState: 'active'
};
ReducerRegistry.register<IBackgroundState>('features/background', (state = DEFAULT_STATE, action): IBackgroundState => {
switch (action.type) {
case _SET_APP_STATE_LISTENER:
return {
...state,
appStateListener: action.listener
};
case APP_STATE_CHANGED:
return {
...state,
appState: action.appState
};
}
return state;
});