From e4c355cb0ab7b568431524f8691cc4d3a71c56d4 Mon Sep 17 00:00:00 2001 From: Dan Percic Date: Tue, 27 Jun 2023 11:34:55 +0300 Subject: [PATCH] DM-315 change favicon for rss --- apps/red-ui/src/app/app.component.ts | 16 ++++++++++++++-- apps/red-ui/src/assets/icons/documine-logo.ico | Bin 0 -> 107738 bytes libs/common-ui | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) create mode 100644 apps/red-ui/src/assets/icons/documine-logo.ico 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 0000000000000000000000000000000000000000..e5947b475fabcb5b9b57b968056a83fe931ce0b7 GIT binary patch literal 107738 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 l?|s78`5L}hm