123456789101112131415161718192021222324252627282930313233343536373839 |
- import { PARTICIPANT_ID_CHANGED } from '../base/participants';
- import { ReducerRegistry } from '../base/redux';
-
- import { LARGE_VIDEO_PARTICIPANT_CHANGED } from './actionTypes';
-
- const INITIAL_STATE = {
- participantId: undefined
- };
-
- ReducerRegistry.register(
- 'features/largeVideo',
- (state = INITIAL_STATE, action) => {
- switch (action.type) {
-
- // When conference is joined, we update ID of local participant from
- // default 'local' to real ID. However, in large video we might have
- // already selected 'local' as participant on stage. So in this case we
- // must update ID of participant on stage to match ID in 'participants'
- // state to avoid additional changes in state and (re)renders.
- case PARTICIPANT_ID_CHANGED:
- if (state.participantId === action.oldValue) {
- return {
- ...state,
- participantId: action.newValue
- };
- }
-
- return state;
-
- case LARGE_VIDEO_PARTICIPANT_CHANGED:
- return {
- ...state,
- participantId: action.participantId
- };
-
- default:
- return state;
- }
- });
|