Update client modules
[oweals/peertube.git] / client / src / main.browser.ts
index 70bf4853782ed6ac515d453e34b36ea955e0300a..f627ba7dffdc8a7de0f2a73605f4b3cf74fc7373 100644 (file)
@@ -1,20 +1,37 @@
 import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
 import { decorateModuleRef } from './app/environment';
-import { bootloader } from '@angularclass/hmr';
-/*
+
+/**
  * App Module
  * our top level module that holds all of our components
  */
 import { AppModule } from './app';
 
-/*
+/**
  * Bootstrap our Angular app with a top level NgModule
  */
 export function main(): Promise<any> {
   return platformBrowserDynamic()
     .bootstrapModule(AppModule)
     .then(decorateModuleRef)
-    .catch(err => console.error(err));
+    .catch((err) => console.error(err));
 }
 
-bootloader(main);
+/**
+ * Needed for hmr
+ * in prod this is replace for document ready
+ */
+switch (document.readyState) {
+  case 'loading':
+    document.addEventListener('DOMContentLoaded', _domReadyHandler, false);
+    break;
+  case 'interactive':
+  case 'complete':
+  default:
+    main();
+}
+
+function _domReadyHandler() {
+ document.removeEventListener('DOMContentLoaded', _domReadyHandler, false);
+ main();
+}