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

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