diff --git a/packages/components/app-switcher/app-switcher.ts b/packages/components/app-switcher/app-switcher.ts
index df0439d33c..d2c9d2e80b 100644
--- a/packages/components/app-switcher/app-switcher.ts
+++ b/packages/components/app-switcher/app-switcher.ts
@@ -60,7 +60,8 @@ export interface KbqAppSwitcherApp {
name: string;
id: string | number;
type?: string | number;
- icon: string;
+ icon?: string;
+ iconSrc?: string;
caption?: string;
aliases?: KbqAppSwitcherApp[];
link?: string;
@@ -71,6 +72,7 @@ export interface KbqAppSwitcherSite {
id: string | number;
status?: string;
icon?: string;
+ iconSrc?: string;
apps: KbqAppSwitcherApp[];
}
@@ -92,6 +94,7 @@ export function defaultGroupBy(
name: appType,
aliases: [app],
icon: app.icon,
+ iconSrc: app.iconSrc,
id: ''
};
}
diff --git a/packages/components/app-switcher/kbq-app-switcher-list-item.ts b/packages/components/app-switcher/kbq-app-switcher-list-item.ts
index 95cc78d619..2e780b77f4 100644
--- a/packages/components/app-switcher/kbq-app-switcher-list-item.ts
+++ b/packages/components/app-switcher/kbq-app-switcher-list-item.ts
@@ -1,18 +1,30 @@
+import { NgOptimizedImage } from '@angular/common';
import { booleanAttribute, ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { KBQ_TITLE_TEXT_REF } from '@koobiq/components/core';
import { KbqDropdownItem } from '@koobiq/components/dropdown';
-import { KbqIcon } from '@koobiq/components/icon';
+import { KbqIconModule } from '@koobiq/components/icon';
import { KbqAppSwitcherApp } from './app-switcher';
/** @docs-private */
@Component({
selector: '[kbq-app-switcher-list-item]',
imports: [
- KbqIcon
+ KbqIconModule,
+ NgOptimizedImage
],
template: `
-
+ @if (app.icon) {
+
+ } @else if (app.iconSrc) {
+
![{{ app.type }}]()
+ }
{{ app.name }}
diff --git a/packages/docs-examples/components/app-switcher/app-switcher-overview/app-switcher-overview-example.ts b/packages/docs-examples/components/app-switcher/app-switcher-overview/app-switcher-overview-example.ts
index 47ead67ec5..636f759ee8 100644
--- a/packages/docs-examples/components/app-switcher/app-switcher-overview/app-switcher-overview-example.ts
+++ b/packages/docs-examples/components/app-switcher/app-switcher-overview/app-switcher-overview-example.ts
@@ -44,18 +44,18 @@ export class AppSwitcherOverviewExample {
name: 'Byte Sentinel',
caption: 'Byte 001',
id: 'SZFO_01',
- icon: this.SVGIcon
+ iconSrc: 'assets/icon.svg'
},
{
name: 'CryptoWall',
id: 'SZFO_02',
- icon: this.SVGIcon
+ iconSrc: 'assets/icon.svg'
},
{
name: 'App Instance 1',
caption: 'Instance Alias One',
id: 'SZFO_03',
- icon: this.SVGIcon
+ iconSrc: 'assets/icon.svg'
},
{
name: 'App Instance 2',
diff --git a/packages/docs-examples/components/app-switcher/app-switcher-sites/app-switcher-sites-example.ts b/packages/docs-examples/components/app-switcher/app-switcher-sites/app-switcher-sites-example.ts
index 27915579be..7492f90126 100644
--- a/packages/docs-examples/components/app-switcher/app-switcher-sites/app-switcher-sites-example.ts
+++ b/packages/docs-examples/components/app-switcher/app-switcher-sites/app-switcher-sites-example.ts
@@ -45,7 +45,7 @@ export class AppSwitcherSitesExample {
caption: 'Byte 001',
id: 'SZFO_01',
type: 'NAD',
- icon: this.SVGIcon
+ iconSrc: 'assets/icon.svg'
},
{
name: 'CryptoWall',
@@ -110,7 +110,7 @@ export class AppSwitcherSitesExample {
caption: 'Byte 001',
id: 'UFO_01',
type: 'SIEM',
- icon: this.SVGIcon
+ iconSrc: 'assets/icon.svg'
},
{
name: 'CryptoWall',