49 lines
1.2 KiB
JavaScript
49 lines
1.2 KiB
JavaScript
// @flow
|
|
|
|
import { AtlasKitThemeProvider } from '@atlaskit/theme';
|
|
import React from 'react';
|
|
|
|
import { DialogContainer } from '../../base/dialog';
|
|
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
|
|
|
|
import { AbstractApp } from './AbstractApp';
|
|
|
|
// Register middlewares and reducers.
|
|
import '../middlewares';
|
|
import '../reducers';
|
|
|
|
/**
|
|
* Root app {@code Component} on Web/React.
|
|
*
|
|
* @extends AbstractApp
|
|
*/
|
|
export class App extends AbstractApp {
|
|
/**
|
|
* Overrides the parent method to inject {@link AtlasKitThemeProvider} as
|
|
* the top most component.
|
|
*
|
|
* @override
|
|
*/
|
|
_createMainElement(component, props) {
|
|
return (
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
|
<ChromeExtensionBanner />
|
|
{ super._createMainElement(component, props) }
|
|
</AtlasKitThemeProvider>
|
|
);
|
|
}
|
|
|
|
/**
|
|
* Renders the platform specific dialog container.
|
|
*
|
|
* @returns {React$Element}
|
|
*/
|
|
_renderDialogContainer() {
|
|
return (
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
|
<DialogContainer />
|
|
</AtlasKitThemeProvider>
|
|
);
|
|
}
|
|
}
|