You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SettingsMenu.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /* global $, APP, interfaceConfig */
  2. /* eslint-disable no-unused-vars */
  3. import React from 'react';
  4. import ReactDOM from 'react-dom';
  5. import { I18nextProvider } from 'react-i18next';
  6. import { Provider } from 'react-redux';
  7. import { i18next } from '../../../../react/features/base/i18n';
  8. import { SettingsMenu } from '../../../../react/features/settings-menu';
  9. /* eslint-enable no-unused-vars */
  10. import UIUtil from '../../util/UIUtil';
  11. export default {
  12. init() {
  13. const settingsMenuContainer = document.createElement('div');
  14. settingsMenuContainer.id = 'settings_container';
  15. settingsMenuContainer.className = 'sideToolbarContainer__inner';
  16. $('#sideToolbarContainer').append(settingsMenuContainer);
  17. const props = {
  18. showDeviceSettings: UIUtil.isSettingEnabled('devices'),
  19. showLanguageSettings: UIUtil.isSettingEnabled('language'),
  20. showModeratorSettings: UIUtil.isSettingEnabled('moderator'),
  21. showTitles: interfaceConfig.SETTINGS_SECTIONS.length > 1
  22. };
  23. ReactDOM.render(
  24. <Provider store = { APP.store }>
  25. <I18nextProvider i18n = { i18next }>
  26. <SettingsMenu
  27. { ...props } />
  28. </I18nextProvider>
  29. </Provider>,
  30. settingsMenuContainer
  31. );
  32. },
  33. /**
  34. * Check if settings menu is visible or not.
  35. * @returns {boolean}
  36. */
  37. isVisible() {
  38. return UIUtil.isVisible(document.getElementById('settings_container'));
  39. }
  40. };