2018-07-11 11:42:43 +02:00
|
|
|
// @flow
|
|
|
|
|
|
2017-10-23 14:18:12 +02:00
|
|
|
import { AtlasKitThemeProvider } from '@atlaskit/theme';
|
|
|
|
|
import React from 'react';
|
|
|
|
|
|
2018-09-03 15:53:24 +02:00
|
|
|
import { DialogContainer } from '../../base/dialog';
|
2020-01-29 14:30:17 +02:00
|
|
|
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
|
2017-03-06 21:43:41 -06:00
|
|
|
|
2017-07-21 16:12:02 -05:00
|
|
|
import { AbstractApp } from './AbstractApp';
|
|
|
|
|
|
2020-06-04 16:09:13 +02:00
|
|
|
// Register middlewares and reducers.
|
|
|
|
|
import '../middlewares';
|
|
|
|
|
import '../reducers';
|
|
|
|
|
|
2016-11-23 15:46:46 -06:00
|
|
|
/**
|
2018-07-12 11:16:57 -05:00
|
|
|
* Root app {@code Component} on Web/React.
|
2016-11-23 15:46:46 -06:00
|
|
|
*
|
|
|
|
|
* @extends AbstractApp
|
|
|
|
|
*/
|
|
|
|
|
export class App extends AbstractApp {
|
2017-10-23 14:18:12 +02:00
|
|
|
/**
|
|
|
|
|
* Overrides the parent method to inject {@link AtlasKitThemeProvider} as
|
|
|
|
|
* the top most component.
|
|
|
|
|
*
|
|
|
|
|
* @override
|
|
|
|
|
*/
|
2018-07-11 11:42:43 +02:00
|
|
|
_createMainElement(component, props) {
|
2017-10-23 14:18:12 +02:00
|
|
|
return (
|
|
|
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
2020-01-29 14:30:17 +02:00
|
|
|
<ChromeExtensionBanner />
|
2018-07-11 11:42:43 +02:00
|
|
|
{ super._createMainElement(component, props) }
|
2017-10-23 14:18:12 +02:00
|
|
|
</AtlasKitThemeProvider>
|
|
|
|
|
);
|
|
|
|
|
}
|
2018-09-03 15:53:24 +02:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Renders the platform specific dialog container.
|
|
|
|
|
*
|
|
|
|
|
* @returns {React$Element}
|
|
|
|
|
*/
|
|
|
|
|
_renderDialogContainer() {
|
|
|
|
|
return (
|
|
|
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
|
|
|
|
<DialogContainer />
|
|
|
|
|
</AtlasKitThemeProvider>
|
|
|
|
|
);
|
|
|
|
|
}
|
2016-11-23 15:46:46 -06:00
|
|
|
}
|