Files
upstream-jitsi-meet/react/features/participants-pane/reducer.ts
upstream-mirror 1d2bfcac0c
Some checks failed
Prosody Plugin Tests / test (push) Failing after 10m11s
Close stale issues and PRs / stale (push) Failing after 1s
snapshot of https://github.com/jitsi/jitsi-meet.git @ fd1749dd28f4138aa80234fc7f311b19aaffa0e7 (2026-09-15)
2026-09-15 15:56:32 +05:00

55 lines
1.2 KiB
TypeScript

import ReducerRegistry from '../base/redux/ReducerRegistry';
import {
PARTICIPANTS_PANE_CLOSE,
PARTICIPANTS_PANE_OPEN,
SET_VOLUME
} from './actionTypes';
import { REDUCER_KEY } from './constants';
export interface IParticipantsPaneState {
isOpen: boolean;
participantsVolume: {
[participantId: string]: number;
};
}
const DEFAULT_STATE = {
isOpen: false,
participantsVolume: {}
};
/**
* Listen for actions that mutate the participants pane state.
*/
ReducerRegistry.register(
REDUCER_KEY, (state: IParticipantsPaneState = DEFAULT_STATE, action) => {
switch (action.type) {
case PARTICIPANTS_PANE_CLOSE:
return {
...state,
isOpen: false
};
case PARTICIPANTS_PANE_OPEN:
return {
...state,
isOpen: true
};
case SET_VOLUME:
return {
...state,
participantsVolume: {
...state.participantsVolume,
[action.participantId]: action.volume
}
};
default:
return state;
}
}
);