bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/settings/container.jsx
2024-01-30 10:03:11 -03:00

46 lines
1.5 KiB
JavaScript

import React from 'react';
import { withTracker } from 'meteor/react-meteor-data';
import SettingsService from '/imports/ui/services/settings';
import Settings from './component';
import { layoutDispatch } from '../layout/context';
import { isScreenSharingEnabled } from '/imports/ui/services/features';
import UserReactionService from '/imports/ui/components/user-reaction/service';
import {
getUserRoles,
isPresenter,
showGuestNotification,
updateSettings,
getAvailableLocales,
} from './service';
import useUserChangedLocalSettings from '../../services/settings/hooks/useUserChangedLocalSettings';
const SettingsContainer = (props) => {
const layoutContextDispatch = layoutDispatch();
const setLocalSettings = useUserChangedLocalSettings();
return (
<Settings
{...props}
layoutContextDispatch={layoutContextDispatch}
setLocalSettings={setLocalSettings}
/>
);
};
export default withTracker((props) => ({
...props,
audio: SettingsService.audio,
dataSaving: SettingsService.dataSaving,
application: SettingsService.application,
updateSettings,
availableLocales: getAvailableLocales(),
isPresenter: isPresenter(),
isModerator: getUserRoles() === 'MODERATOR',
showGuestNotification: showGuestNotification(),
showToggleLabel: false,
isScreenSharingEnabled: isScreenSharingEnabled(),
isVideoEnabled: Meteor.settings.public.kurento.enableVideo,
isReactionsEnabled: UserReactionService.isEnabled(),
}))(SettingsContainer);