12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- /* @flow */
-
- import { ReducerRegistry } from '../base/redux';
- import {
- LOCAL_RECORDING_ENGAGED,
- LOCAL_RECORDING_STATS_UPDATE,
- LOCAL_RECORDING_TOGGLE_DIALOG,
- LOCAL_RECORDING_UNENGAGED
- } from './actionTypes';
- import { recordingController } from './controller';
-
- const logger = require('jitsi-meet-logger').getLogger(__filename);
-
- ReducerRegistry.register('features/local-recording', (state = {}, action) => {
- logger.debug(`Redux state (features/local-recording):\n ${
- JSON.stringify(state)}`);
- switch (action.type) {
- case LOCAL_RECORDING_ENGAGED: {
- return {
- ...state,
- isEngaged: true,
- recordingStartedAt: new Date(Date.now()),
- encodingFormat: recordingController._format
- };
- }
- case LOCAL_RECORDING_UNENGAGED:
- return {
- ...state,
- isEngaged: false,
- recordingStartedAt: null
- };
- case LOCAL_RECORDING_TOGGLE_DIALOG:
- return {
- ...state,
- showDialog: state.showDialog === undefined
- || state.showDialog === false
- };
- case LOCAL_RECORDING_STATS_UPDATE:
- return {
- ...state,
- stats: action.stats
- };
- default:
- return state;
- }
- });
|