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

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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. <JitsiThemeProvider>
  41. <AtlasKitThemeProvider mode = 'dark'>
  42. <DialogContainer />
  43. </AtlasKitThemeProvider>
  44. </JitsiThemeProvider>
  45. );
  46. }
  47. }