import React from 'react';
import EventEmitter from 'events';
import AppContainer from '~/client/services/AppContainer';
import SocketIoContainer from '~/client/services/SocketIoContainer';
import { DescendantsPageListModal } from '~/components/DescendantsPageListModal';
import PutbackPageModal from '~/components/PutbackPageModal';
import ShortcutsModal from '~/components/ShortcutsModal';
import SystemVersion from '~/components/SystemVersion';
import InterceptorManager from '~/services/interceptor-manager';
import Xss from '~/services/xss';
import loggerFactory from '~/utils/logger';
import EmptyTrashModal from '../components/EmptyTrashModal';
import HotkeysManager from '../components/Hotkeys/HotkeysManager';
import GrowiNavbar from '../components/Navbar/GrowiNavbar';
import GrowiNavbarBottom from '../components/Navbar/GrowiNavbarBottom';
import PageAccessoriesModal from '../components/PageAccessoriesModal';
import PageCreateModal from '../components/PageCreateModal';
import PageDeleteModal from '../components/PageDeleteModal';
import PageDuplicateModal from '../components/PageDuplicateModal';
import PagePresentationModal from '../components/PagePresentationModal';
import PageRenameModal from '../components/PageRenameModal';
import ShowPageAccessoriesModal from './services/ShowPageAccessoriesModal';
const logger = loggerFactory('growi:cli:app');
if (!window) {
window = {};
}
// setup xss library
const xss = new Xss();
window.xss = xss;
window.globalEmitter = new EventEmitter();
window.interceptorManager = new InterceptorManager();
// create unstated container instance
const appContainer = new AppContainer();
// eslint-disable-next-line no-unused-vars
const socketIoContainer = new SocketIoContainer(appContainer);
appContainer.initApp();
logger.info('AppContainer has been initialized');
/**
* define components
* key: id of element
* value: React Element
*/
const componentMappings = {
'grw-navbar': ,
'grw-navbar-bottom-container': ,
'page-create-modal': ,
'page-delete-modal': ,
'empty-trash-modal': ,
'page-duplicate-modal': ,
'page-rename-modal': ,
'page-presentation-modal': ,
'page-accessories-modal': ,
'descendants-page-list-modal': ,
'page-put-back-modal': ,
'shortcuts-modal': ,
'grw-hotkeys-manager': ,
'system-version': ,
'show-page-accessories-modal': ,
};
export { appContainer, componentMappings };