diff --git a/src/Squidex/app/app.routes.ts b/src/Squidex/app/app.routes.ts index 66c223c1c..62346ffb2 100644 --- a/src/Squidex/app/app.routes.ts +++ b/src/Squidex/app/app.routes.ts @@ -42,7 +42,8 @@ export const routes: Routes = [ }, { path: 'administration', - loadChildren: './features/administration/module#SqxFeatureAdministrationModule' + loadChildren: './features/administration/module#SqxFeatureAdministrationModule', + canActivate: [UnsetAppGuard] }, { path: ':appName', diff --git a/src/Squidex/app/shared/guards/unset-app.guard.ts b/src/Squidex/app/shared/guards/unset-app.guard.ts index 0f7cf6084..81d7b6e54 100644 --- a/src/Squidex/app/shared/guards/unset-app.guard.ts +++ b/src/Squidex/app/shared/guards/unset-app.guard.ts @@ -7,6 +7,7 @@ import { Injectable } from '@angular/core'; import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot } from '@angular/router'; +import { Observable } from 'rxjs'; import { AppsStoreService } from './../services/apps-store.service'; @@ -17,9 +18,7 @@ export class UnsetAppGuard implements CanActivate { ) { } - public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean { - this.appsStore.selectApp(null); - - return true; + public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable { + return this.appsStore.selectApp(null).map(a => !a); } } \ No newline at end of file