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.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // @flow
  2. import { AtlasKitThemeProvider } from '@atlaskit/theme';
  3. import React from 'react';
  4. import { DialogContainer } from '../../base/dialog';
  5. import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider';
  6. import { ChromeExtensionBanner } from '../../chrome-extension-banner';
  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. * @extends AbstractApp
  15. */
  16. export class App extends AbstractApp {
  17. /**
  18. * Overrides the parent method to inject {@link AtlasKitThemeProvider} as
  19. * the top most component.
  20. *
  21. * @override
  22. */
  23. _createMainElement(component, props) {
  24. return (
  25. <JitsiThemeProvider>
  26. <AtlasKitThemeProvider mode = 'dark'>
  27. <ChromeExtensionBanner />
  28. { super._createMainElement(component, props) }
  29. </AtlasKitThemeProvider>
  30. </JitsiThemeProvider>
  31. );
  32. }
  33. /**
  34. * Renders the platform specific dialog container.
  35. *
  36. * @returns {React$Element}
  37. */
  38. _renderDialogContainer() {
  39. return (
  40. <AtlasKitThemeProvider mode = 'dark'>
  41. <DialogContainer />
  42. </AtlasKitThemeProvider>
  43. );
  44. }
  45. }