X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fapp.module.ts;h=7e4fac730fee05aec961e4d85a3e8a835fe620c5;hb=2c8380a46f34631e705b1564938343cacfa4b0bc;hp=ea53818e17e36813c266ebdd386a2cef1b178b29;hpb=2989628b7913383b39ac34c7db8666a21f8e5037;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts index ea53818e1..7e4fac730 100644 --- a/client/src/app/app.module.ts +++ b/client/src/app/app.module.ts @@ -1,4 +1,5 @@ import 'focus-visible' +import { tap } from 'rxjs/operators' import { environment } from 'src/environments/environment' import { APP_BASE_HREF, registerLocaleData } from '@angular/common' import { APP_INITIALIZER, NgModule } from '@angular/core' @@ -7,7 +8,7 @@ import { ServiceWorkerModule } from '@angular/service-worker' import localeOc from '@app/helpers/locales/oc' import { AppRoutingModule } from './app-routing.module' import { AppComponent } from './app.component' -import { CoreModule, ServerService } from './core' +import { CoreModule, PluginService, RedirectService, ServerService } from './core' import { EmptyComponent } from './empty.component' import { HeaderComponent, SearchTypeaheadComponent, SuggestionComponent } from './header' import { HighlightPipe } from './header/highlight.pipe' @@ -16,7 +17,8 @@ import { ConfirmComponent } from './modal/confirm.component' import { CustomModalComponent } from './modal/custom-modal.component' import { InstanceConfigWarningModalComponent } from './modal/instance-config-warning-modal.component' import { QuickSettingsModalComponent } from './modal/quick-settings-modal.component' -import { WelcomeModalComponent } from './modal/welcome-modal.component' +import { AdminWelcomeModalComponent } from './modal/admin-welcome-modal.component' +import { AccountSetupWarningModalComponent } from './modal/account-setup-warning-modal.component' import { SharedActorImageModule } from './shared/shared-actor-image/shared-actor-image.module' import { SharedFormModule } from './shared/shared-forms' import { SharedGlobalIconModule } from './shared/shared-icons' @@ -26,8 +28,18 @@ import { SharedUserInterfaceSettingsModule } from './shared/shared-user-settings registerLocaleData(localeOc, 'oc') -export function loadConfigFactory (server: ServerService) { - return () => server.loadHTMLConfig() +export function loadConfigFactory (server: ServerService, pluginService: PluginService, redirectService: RedirectService) { + const initializeServices = () => { + redirectService.init() + pluginService.initializePlugins() + } + + return () => { + const result = server.loadHTMLConfig() + if (result) return result.pipe(tap(() => initializeServices())) + + initializeServices() + } } @NgModule({ @@ -46,8 +58,9 @@ export function loadConfigFactory (server: ServerService) { SuggestionComponent, HighlightPipe, + AccountSetupWarningModalComponent, CustomModalComponent, - WelcomeModalComponent, + AdminWelcomeModalComponent, InstanceConfigWarningModalComponent, ConfirmComponent ], @@ -75,9 +88,9 @@ export function loadConfigFactory (server: ServerService) { { provide: APP_INITIALIZER, useFactory: loadConfigFactory, - deps: [ ServerService ], + deps: [ ServerService, PluginService, RedirectService ], multi: true - } + } ] }) export class AppModule {}