| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- import React from 'react';
- import loggerFactory from '@alias/logger';
- import Xss from '@commons/service/xss';
- import SearchTop from './components/Navbar/SearchTop';
- import NavbarToggler from './components/Navbar/NavbarToggler';
- import PersonalDropdown from './components/Navbar/PersonalDropdown';
- import Sidebar from './components/Sidebar';
- import ShareLinkAlert from './components/Page/ShareLinkAlert';
- import StaffCredit from './components/StaffCredit/StaffCredit';
- import AppContainer from './services/AppContainer';
- import WebsocketContainer from './services/WebsocketContainer';
- import PageCreateButton from './components/Navbar/PageCreateButton';
- import PageCreateModal from './components/PageCreateModal';
- const logger = loggerFactory('growi:app');
- if (!window) {
- window = {};
- }
- // setup xss library
- const xss = new Xss();
- window.xss = xss;
- // create unstated container instance
- const appContainer = new AppContainer();
- // eslint-disable-next-line no-unused-vars
- const websocketContainer = new WebsocketContainer(appContainer);
- logger.info('unstated containers have been initialized');
- appContainer.init();
- appContainer.injectToWindow();
- /**
- * define components
- * key: id of element
- * value: React Element
- */
- const componentMappings = {
- 'grw-navbar-toggler': <NavbarToggler />,
- 'grw-search-top': <SearchTop />,
- 'personal-dropdown': <PersonalDropdown />,
- 'create-page-button': <PageCreateButton />,
- 'create-page-button-icon': <PageCreateButton isIcon />,
- 'page-create-modal': <PageCreateModal />,
- 'grw-sidebar-wrapper': <Sidebar />,
- 'share-link-alert': <ShareLinkAlert />,
- 'staff-credit': <StaffCredit />,
- };
- export { appContainer, componentMappings };
|