import { Notifier } from './notification'
import { MessageService } from 'primeng/api'
import { UserNotificationSocket } from '@app/core/notification/user-notification-socket.service'
+import { ServerConfigResolver } from './routing/server-config-resolver.service'
@NgModule({
imports: [
RedirectService,
Notifier,
MessageService,
- UserNotificationSocket
+ UserNotificationSocket,
+ ServerConfigResolver
]
})
export class CoreModule {
--- /dev/null
+import { Injectable } from '@angular/core'
+import { Resolve } from '@angular/router'
+import { ServerService } from '@app/core/server'
+
+@Injectable()
+export class ServerConfigResolver implements Resolve<boolean> {
+ constructor (
+ private server: ServerService
+ ) {}
+
+ resolve () {
+ // FIXME: directly returning this.server.configLoaded does not seem to work
+ return new Promise<boolean>(res => {
+ return this.server.configLoaded.subscribe(() => res(true))
+ })
+ }
+}
import { NgModule } from '@angular/core'
import { RouterModule, Routes } from '@angular/router'
-
import { MetaGuard } from '@ngx-meta/core'
-
import { LoginComponent } from './login.component'
+import { ServerConfigResolver } from '@app/core/routing/server-config-resolver.service'
const loginRoutes: Routes = [
{
meta: {
title: 'Login'
}
+ },
+ resolve: {
+ serverConfigLoaded: ServerConfigResolver
}
}
]
import { NgModule } from '@angular/core'
import { RouterModule, Routes } from '@angular/router'
-
import { MetaGuard } from '@ngx-meta/core'
-
import { SignupComponent } from './signup.component'
+import { ServerConfigResolver } from '@app/core/routing/server-config-resolver.service'
const signupRoutes: Routes = [
{
meta: {
title: 'Signup'
}
+ },
+ resolve: {
+ serverConfigLoaded: ServerConfigResolver
}
}
]