bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/video-provider/video-button/container.jsx

50 lines
1.3 KiB
React
Raw Normal View History

import React from 'react';
import { useContext } from 'react';
import { withTracker } from 'meteor/react-meteor-data';
import { injectIntl } from 'react-intl';
import JoinVideoButton from './component';
2019-11-28 21:13:06 +08:00
import VideoService from '../service';
import {
updateSettings,
} from '/imports/ui/components/settings/service';
import { PluginsContext } from '/imports/ui/components/components-data/plugin-context/context';
const JoinVideoOptionsContainer = (props) => {
const {
updateSettings,
2019-11-28 21:13:06 +08:00
hasVideoStream,
disableReason,
status,
intl,
...restProps
} = props;
const {
pluginsExtensibleAreasAggregatedState,
} = useContext(PluginsContext);
let cameraSettingsDropdownItems = [];
if (pluginsExtensibleAreasAggregatedState.cameraSettingsDropdownItems) {
cameraSettingsDropdownItems = [
...pluginsExtensibleAreasAggregatedState.cameraSettingsDropdownItems,
];
}
2019-11-28 21:13:06 +08:00
return (
<JoinVideoButton {...{
cameraSettingsDropdownItems,
hasVideoStream,
updateSettings,
disableReason,
status,
...restProps,
2019-11-28 21:13:06 +08:00
}}
/>
);
};
export default injectIntl(withTracker(() => ({
2019-11-28 21:13:06 +08:00
hasVideoStream: VideoService.hasVideoStream(),
updateSettings,
disableReason: VideoService.disableReason(),
status: VideoService.getStatus(),
}))(JoinVideoOptionsContainer));