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.js 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // @flow
  2. import { AtlasKitThemeProvider } from '@atlaskit/theme';
  3. import React from 'react';
  4. import { DialogContainer } from '../../base/dialog';
  5. import GlobalStyles from '../../base/ui/components/GlobalStyles';
  6. import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider';
  7. import { ChromeExtensionBanner } from '../../chrome-extension-banner';
  8. import { AbstractApp } from './AbstractApp';
  9. // Register middlewares and reducers.
  10. import '../middlewares';
  11. import '../reducers';
  12. /**
  13. * Root app {@code Component} on Web/React.
  14. *
  15. * @extends AbstractApp
  16. */
  17. export class App extends AbstractApp {
  18. /**
  19. * Overrides the parent method to inject {@link AtlasKitThemeProvider} as
  20. * the top most component.
  21. *
  22. * @override
  23. */
  24. _createMainElement(component, props) {
  25. return (
  26. <JitsiThemeProvider>
  27. <AtlasKitThemeProvider mode = 'dark'>
  28. <GlobalStyles />
  29. <ChromeExtensionBanner />
  30. { super._createMainElement(component, props) }
  31. </AtlasKitThemeProvider>
  32. </JitsiThemeProvider>
  33. );
  34. }
  35. /**
  36. * Renders the platform specific dialog container.
  37. *
  38. * @returns {React$Element}
  39. */
  40. _renderDialogContainer() {
  41. return (
  42. <JitsiThemeProvider>
  43. <AtlasKitThemeProvider mode = 'dark'>
  44. <DialogContainer />
  45. </AtlasKitThemeProvider>
  46. </JitsiThemeProvider>
  47. );
  48. }
  49. }