Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

reducer.js 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // @flow
  2. import { PARTICIPANT_ID_CHANGED } from '../base/participants';
  3. import { ReducerRegistry } from '../base/redux';
  4. import {
  5. SELECT_LARGE_VIDEO_PARTICIPANT,
  6. UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION,
  7. UPDATE_LAST_LARGE_VIDEO_MEDIA_EVENT,
  8. SET_SEE_WHAT_IS_BEING_SHARED
  9. } from './actionTypes';
  10. ReducerRegistry.register('features/large-video', (state = {}, action) => {
  11. switch (action.type) {
  12. // When conference is joined, we update ID of local participant from default
  13. // 'local' to real ID. However, in large video we might have already
  14. // selected 'local' as participant on stage. So in this case we must update
  15. // ID of participant on stage to match ID in 'participants' state to avoid
  16. // additional changes in state and (re)renders.
  17. case PARTICIPANT_ID_CHANGED:
  18. if (state.participantId === action.oldValue) {
  19. return {
  20. ...state,
  21. participantId: action.newValue
  22. };
  23. }
  24. break;
  25. case SELECT_LARGE_VIDEO_PARTICIPANT:
  26. return {
  27. ...state,
  28. participantId: action.participantId
  29. };
  30. case UPDATE_KNOWN_LARGE_VIDEO_RESOLUTION:
  31. return {
  32. ...state,
  33. resolution: action.resolution
  34. };
  35. case UPDATE_LAST_LARGE_VIDEO_MEDIA_EVENT:
  36. return {
  37. ...state,
  38. lastMediaEvent: action.name
  39. };
  40. case SET_SEE_WHAT_IS_BEING_SHARED:
  41. return {
  42. ...state,
  43. seeWhatIsBeingShared: action.seeWhatIsBeingShared
  44. };
  45. }
  46. return state;
  47. });