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.

App.web.tsx 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import React from 'react';
  2. import GlobalStyles from '../../base/ui/components/GlobalStyles.web';
  3. import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web';
  4. import DialogContainer from '../../base/ui/components/web/DialogContainer';
  5. import ChromeExtensionBanner from '../../chrome-extension-banner/components/ChromeExtensionBanner.web';
  6. import OverlayContainer from '../../overlay/components/web/OverlayContainer';
  7. import { AbstractApp } from './AbstractApp';
  8. // Register middlewares and reducers.
  9. import '../middlewares';
  10. import '../reducers';
  11. /**
  12. * Root app {@code Component} on Web/React.
  13. *
  14. * @augments AbstractApp
  15. */
  16. export class App extends AbstractApp {
  17. /**
  18. * Creates an extra {@link ReactElement}s to be added (unconditionally)
  19. * alongside the main element.
  20. *
  21. * @abstract
  22. * @protected
  23. * @returns {ReactElement}
  24. */
  25. _createExtraElement() {
  26. return (
  27. <JitsiThemeProvider>
  28. <OverlayContainer />
  29. </JitsiThemeProvider>
  30. );
  31. }
  32. /**
  33. * Overrides the parent method to inject {@link AtlasKitThemeProvider} as
  34. * the top most component.
  35. *
  36. * @override
  37. */
  38. _createMainElement(component: React.ComponentType, props?: Object) {
  39. return (
  40. <JitsiThemeProvider>
  41. <GlobalStyles />
  42. <ChromeExtensionBanner />
  43. { super._createMainElement(component, props) }
  44. </JitsiThemeProvider>
  45. );
  46. }
  47. /**
  48. * Renders the platform specific dialog container.
  49. *
  50. * @returns {React$Element}
  51. */
  52. _renderDialogContainer() {
  53. return (
  54. <JitsiThemeProvider>
  55. <DialogContainer />
  56. </JitsiThemeProvider>
  57. );
  58. }
  59. }