jiti-meet/react/features/screen-share/reducer.ts

45 lines
1022 B
TypeScript
Raw Normal View History

2022-09-01 11:00:49 +00:00
import ReducerRegistry from '../base/redux/ReducerRegistry';
import {
SET_SCREENSHARE_CAPTURE_FRAME_RATE,
SET_SCREENSHARE_TRACKS,
SET_SCREEN_AUDIO_SHARE_STATE
} from './actionTypes';
2022-09-01 11:00:49 +00:00
export interface IScreenShareState {
captureFrameRate?: number;
desktopAudioTrack?: any;
2022-09-01 11:00:49 +00:00
isSharingAudio?: boolean;
}
/**
* Reduces the Redux actions of the feature features/screen-share.
*/
2022-09-05 09:05:07 +00:00
ReducerRegistry.register<IScreenShareState>('features/screen-share', (state = {}, action): IScreenShareState => {
const { captureFrameRate, isSharingAudio, desktopAudioTrack } = action;
switch (action.type) {
case SET_SCREEN_AUDIO_SHARE_STATE:
return {
...state,
isSharingAudio
};
case SET_SCREENSHARE_CAPTURE_FRAME_RATE:
return {
...state,
captureFrameRate
};
case SET_SCREENSHARE_TRACKS:
return {
...state,
desktopAudioTrack
};
default:
return state;
}
});