diff --git a/apps/red-ui/src/app/app.component.ts b/apps/red-ui/src/app/app.component.ts index c980c07ed..a66f9a467 100644 --- a/apps/red-ui/src/app/app.component.ts +++ b/apps/red-ui/src/app/app.component.ts @@ -2,10 +2,12 @@ import { Component, inject, Renderer2, ViewContainerRef } from '@angular/core'; import { RouterHistoryService } from '@services/router-history.service'; import { DOCUMENT } from '@angular/common'; import { UserPreferenceService } from '@users/user-preference.service'; -import { getConfig } from '@iqser/common-ui'; +import { getConfig, IqserPermissionsService } from '@iqser/common-ui'; import { AppConfig } from '@red/domain'; import { NavigationEnd, Router } from '@angular/router'; -import { filter, map, switchMap, take } from 'rxjs/operators'; +import { filter, map, switchMap, take, tap } from 'rxjs/operators'; +import { Roles } from '@users/roles'; +import { takeUntilDestroyed } from '@angular/core/rxjs-interop'; function loadCustomTheme() { const cssFileName = getConfig().THEME; @@ -35,9 +37,11 @@ export class AppComponent { userPreferenceService: UserPreferenceService, renderer: Renderer2, private readonly _router: Router, + iqserPermissionsService: IqserPermissionsService, ) { renderer.addClass(inject(DOCUMENT).body, userPreferenceService.getTheme()); loadCustomTheme(); + const removeQueryParams = _router.events.pipe( filter((event): event is NavigationEnd => event instanceof NavigationEnd), map(event => event.urlAfterRedirects), @@ -46,6 +50,14 @@ export class AppComponent { take(1), ); removeQueryParams.subscribe(); + + const changeFavicon = iqserPermissionsService.has$(Roles.getRss).pipe( + tap(hasRss => { + const faviconUrl = hasRss ? 'assets/icons/documine-logo.ico' : 'favicon.ico'; + document.getElementById('favicon').setAttribute('href', faviconUrl); + }), + ); + changeFavicon.pipe(takeUntilDestroyed()).subscribe(); } #removeKeycloakQueryParams() { diff --git a/apps/red-ui/src/assets/icons/documine-logo.ico b/apps/red-ui/src/assets/icons/documine-logo.ico new file mode 100644 index 000000000..e5947b475 Binary files /dev/null and b/apps/red-ui/src/assets/icons/documine-logo.ico differ diff --git a/libs/common-ui b/libs/common-ui index aa4516286..75356e232 160000 --- a/libs/common-ui +++ b/libs/common-ui @@ -1 +1 @@ -Subproject commit aa4516286eeeaab7e69adadb4f58193e8f2b64ed +Subproject commit 75356e2328051f629ac1a860e55cba0c2a16a6d5