import React from 'react';
import EventEmitter from 'events';
import AppContainer from '~/client/services/AppContainer';
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 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 = {};
}
window.globalEmitter = new EventEmitter();
window.interceptorManager = new InterceptorManager();
// create unstated container instance
const appContainer = new 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 };