]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - client/src/main.browser.ts
Try to optimize frontend
[github/Chocobozzz/PeerTube.git] / client / src / main.browser.ts
1 /* tslint: disable */
2
3 import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
4 import { decorateModuleRef } from './app/environment'
5 import { hmrModule } from '@angularclass/hmr'
6
7 /**
8 * App Module
9 * our top level module that holds all of our components
10 */
11 import { AppModule } from './app'
12
13 /**
14 * Bootstrap our Angular app with a top level NgModule
15 */
16 export function main (): Promise<any> {
17 return platformBrowserDynamic()
18 .bootstrapModule(AppModule)
19 .then(decorateModuleRef)
20 .then((ngModuleRef: any) => {
21 // `module` global ref for webpackhmr
22 // Don't run this in Prod
23 return hmrModule(ngModuleRef, module)
24 })
25 .catch((err) => console.error(err))
26 }
27
28 /**
29 * Needed for hmr
30 * in prod this is replace for document ready
31 */
32 switch (document.readyState) {
33 case 'loading':
34 document.addEventListener('DOMContentLoaded', _domReadyHandler, false)
35 break
36 case 'interactive':
37 case 'complete':
38 default:
39 main()
40 }
41
42 function _domReadyHandler () {
43 document.removeEventListener('DOMContentLoaded', _domReadyHandler, false)
44 main()
45 }