2017-10-23 14:18:12 +02:00
|
|
|
import { AtlasKitThemeProvider } from '@atlaskit/theme';
|
2023-02-14 11:50:46 +02:00
|
|
|
import React, { Fragment } from 'react';
|
2017-10-23 14:18:12 +02:00
|
|
|
|
2022-10-28 12:07:58 +02:00
|
|
|
import GlobalStyles from '../../base/ui/components/GlobalStyles.web';
|
2022-08-01 10:04:23 +03:00
|
|
|
import JitsiThemeProvider from '../../base/ui/components/JitsiThemeProvider.web';
|
2022-09-29 13:26:34 +03:00
|
|
|
import DialogContainer from '../../base/ui/components/web/DialogContainer';
|
2020-01-29 14:30:17 +02:00
|
|
|
import { ChromeExtensionBanner } from '../../chrome-extension-banner';
|
2023-02-14 11:50:46 +02:00
|
|
|
import OverlayContainer from '../../overlay/components/web/OverlayContainer';
|
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';
|
|
|
|
|
|
2023-02-14 11:50:46 +02:00
|
|
|
|
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
|
|
|
*
|
2021-11-04 22:10:43 +01:00
|
|
|
* @augments AbstractApp
|
2016-11-23 15:46:46 -06:00
|
|
|
*/
|
|
|
|
|
export class App extends AbstractApp {
|
2023-02-14 11:50:46 +02:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Creates an extra {@link ReactElement}s to be added (unconditionally)
|
|
|
|
|
* alongside the main element.
|
|
|
|
|
*
|
|
|
|
|
* @abstract
|
|
|
|
|
* @protected
|
|
|
|
|
* @returns {ReactElement}
|
|
|
|
|
*/
|
|
|
|
|
_createExtraElement() {
|
|
|
|
|
return (
|
|
|
|
|
<Fragment>
|
|
|
|
|
<OverlayContainer />
|
|
|
|
|
</Fragment>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
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 (
|
2021-04-29 12:24:39 +03:00
|
|
|
<JitsiThemeProvider>
|
|
|
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
2021-10-08 11:05:16 +03:00
|
|
|
<GlobalStyles />
|
2021-04-29 12:24:39 +03:00
|
|
|
<ChromeExtensionBanner />
|
|
|
|
|
{ super._createMainElement(component, props) }
|
|
|
|
|
</AtlasKitThemeProvider>
|
|
|
|
|
</JitsiThemeProvider>
|
2017-10-23 14:18:12 +02:00
|
|
|
);
|
|
|
|
|
}
|
2018-09-03 15:53:24 +02:00
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* Renders the platform specific dialog container.
|
|
|
|
|
*
|
|
|
|
|
* @returns {React$Element}
|
|
|
|
|
*/
|
|
|
|
|
_renderDialogContainer() {
|
|
|
|
|
return (
|
2021-08-20 11:53:11 +03:00
|
|
|
<JitsiThemeProvider>
|
|
|
|
|
<AtlasKitThemeProvider mode = 'dark'>
|
|
|
|
|
<DialogContainer />
|
|
|
|
|
</AtlasKitThemeProvider>
|
|
|
|
|
</JitsiThemeProvider>
|
2018-09-03 15:53:24 +02:00
|
|
|
);
|
|
|
|
|
}
|
2016-11-23 15:46:46 -06:00
|
|
|
}
|