bigbluebutton-Github/bigbluebutton-html5/imports/ui/components/settings/container.jsx

46 lines
1.5 KiB
React
Raw Normal View History

import React from 'react';
import { withTracker } from 'meteor/react-meteor-data';
2017-03-29 02:41:48 +08:00
import SettingsService from '/imports/ui/services/settings';
import Settings from './component';
2021-09-11 04:48:52 +08:00
import { layoutDispatch } from '../layout/context';
import { isScreenSharingEnabled } from '/imports/ui/services/features';
import UserReactionService from '/imports/ui/components/user-reaction/service';
2017-03-29 02:41:48 +08:00
import {
getUserRoles,
2022-02-26 01:56:03 +08:00
isPresenter,
showGuestNotification,
updateSettings,
getAvailableLocales,
} from './service';
2024-01-30 21:03:11 +08:00
import useUserChangedLocalSettings from '../../services/settings/hooks/useUserChangedLocalSettings';
2021-08-09 22:24:02 +08:00
const SettingsContainer = (props) => {
2021-09-11 04:48:52 +08:00
const layoutContextDispatch = layoutDispatch();
2024-01-30 21:03:11 +08:00
const setLocalSettings = useUserChangedLocalSettings();
2021-06-19 02:32:46 +08:00
2024-01-30 21:03:11 +08:00
return (
<Settings
{...props}
layoutContextDispatch={layoutContextDispatch}
setLocalSettings={setLocalSettings}
/>
);
2021-06-19 02:32:46 +08:00
};
2016-12-23 09:48:19 +08:00
2021-10-19 04:52:59 +08:00
export default withTracker((props) => ({
...props,
2017-06-03 03:25:02 +08:00
audio: SettingsService.audio,
dataSaving: SettingsService.dataSaving,
2017-06-03 03:25:02 +08:00
application: SettingsService.application,
updateSettings,
availableLocales: getAvailableLocales(),
2022-02-26 01:56:03 +08:00
isPresenter: isPresenter(),
2017-06-03 03:25:02 +08:00
isModerator: getUserRoles() === 'MODERATOR',
showGuestNotification: showGuestNotification(),
2021-05-01 03:06:28 +08:00
showToggleLabel: false,
isScreenSharingEnabled: isScreenSharingEnabled(),
isVideoEnabled: Meteor.settings.public.kurento.enableVideo,
isReactionsEnabled: UserReactionService.isEnabled(),
}))(SettingsContainer);