bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/actions-bar/actions-dropdown/container.jsx

49 lines
1.9 KiB
React
Raw Normal View History

import React, { useContext } from 'react';
import { withTracker } from 'meteor/react-meteor-data';
import Presentations from '/imports/api/presentations';
import PresentationUploaderService from '/imports/ui/components/presentation/presentation-uploader/service';
import ActionsDropdown from './component';
2022-05-13 21:42:19 +08:00
import { layoutSelectInput, layoutDispatch, layoutSelect } from '../../layout/context';
import { SMALL_VIEWPORT_BREAKPOINT } from '../../layout/enums';
2023-06-14 22:32:52 +08:00
import { isCameraAsContentEnabled, isTimerFeatureEnabled } from '/imports/ui/services/features';
import { PluginsContext } from '/imports/ui/components/components-data/plugin-context/context';
2021-05-18 04:25:07 +08:00
const ActionsDropdownContainer = (props) => {
2021-09-11 04:48:52 +08:00
const sidebarContent = layoutSelectInput((i) => i.sidebarContent);
const sidebarNavigation = layoutSelectInput((i) => i.sidebarNavigation);
const { width: browserWidth } = layoutSelectInput((i) => i.browser);
const isMobile = browserWidth <= SMALL_VIEWPORT_BREAKPOINT;
2021-09-11 04:48:52 +08:00
const layoutContextDispatch = layoutDispatch();
2022-05-13 21:42:19 +08:00
const isRTL = layoutSelect((i) => i.isRTL);
const { pluginsProvidedAggregatedState } = useContext(PluginsContext);
let actionButtonDropdownItems = [];
if (pluginsProvidedAggregatedState.actionButtonDropdownItems) {
actionButtonDropdownItems = [...pluginsProvidedAggregatedState.actionButtonDropdownItems];
}
return (
2023-06-14 22:32:52 +08:00
<ActionsDropdown
{...{
layoutContextDispatch,
sidebarContent,
sidebarNavigation,
isMobile,
isRTL,
actionButtonDropdownItems,
2023-06-14 22:32:52 +08:00
...props,
}}
/>
);
2021-05-18 04:25:07 +08:00
};
export default withTracker(() => {
const presentations = Presentations.find({ 'conversion.done': true }).fetch();
return {
presentations,
isTimerFeatureEnabled: isTimerFeatureEnabled(),
2021-05-12 22:07:18 +08:00
isDropdownOpen: Session.get('dropdownOpen'),
setPresentation: PresentationUploaderService.setPresentation,
2023-06-14 22:32:52 +08:00
isCameraAsContentEnabled: isCameraAsContentEnabled(),
};
2021-05-18 04:25:07 +08:00
})(ActionsDropdownContainer);