From d27f8340603476cb55357c286df7791870fee5f4 Mon Sep 17 00:00:00 2001 From: tplevko Date: Mon, 23 Sep 2024 09:16:32 +0200 Subject: [PATCH] fix(787): Display connector icon in catalog detail modal --- .../PropertiesModal/PropertiesModal.scss | 13 ++++++++++ .../PropertiesModal/PropertiesModal.tsx | 24 +++++++++++++++---- packages/ui/src/utils/node-icon-resolver.ts | 8 +++---- 3 files changed, 36 insertions(+), 9 deletions(-) diff --git a/packages/ui/src/components/PropertiesModal/PropertiesModal.scss b/packages/ui/src/components/PropertiesModal/PropertiesModal.scss index 9dc2c4d35..4552b1fed 100644 --- a/packages/ui/src/components/PropertiesModal/PropertiesModal.scss +++ b/packages/ui/src/components/PropertiesModal/PropertiesModal.scss @@ -41,4 +41,17 @@ height: 60vh; } } + + &__title-div { + display: flex; + } + + &__title-image { + height: 50px; + width: 50px; + } + + &__title { + padding: 10px; + } } diff --git a/packages/ui/src/components/PropertiesModal/PropertiesModal.tsx b/packages/ui/src/components/PropertiesModal/PropertiesModal.tsx index cd94adc32..b10116f19 100644 --- a/packages/ui/src/components/PropertiesModal/PropertiesModal.tsx +++ b/packages/ui/src/components/PropertiesModal/PropertiesModal.tsx @@ -1,17 +1,18 @@ -import { Modal, ModalBoxBody, Tab, Tabs } from '@patternfly/react-core'; -import { FunctionComponent, useContext, useEffect, useMemo, useState } from 'react'; -import { IPropertiesTab } from './PropertiesModal.models'; +import { Modal, ModalBoxBody, Tab, Tabs, capitalize } from '@patternfly/react-core'; +import { FunctionComponent, ReactElement, useContext, useEffect, useMemo, useState } from 'react'; import { transformCamelComponentIntoTab, transformCamelProcessorComponentIntoTab, transformKameletComponentIntoTab, } from '../../camel-utils/camel-to-tabs.adapter'; import { CatalogKind } from '../../models'; +import { CatalogContext } from '../../providers'; +import { NodeIconResolver, NodeIconType } from '../../utils'; import { ITile } from '../Catalog'; +import { IPropertiesTab } from './PropertiesModal.models'; import './PropertiesModal.scss'; import { PropertiesTabs } from './PropertiesTabs'; import { EmptyTableState } from './Tables'; -import { CatalogContext } from '../../providers'; interface IPropertiesModalProps { tile: ITile; @@ -50,6 +51,19 @@ export const PropertiesModal: FunctionComponent = (props) setActiveTab(tabs[tabIndex as number]); setActiveTabKey(tabIndex as number); }; + const nodeIconType = capitalize(props.tile.type === 'processor' ? 'EIP' : props.tile.type); + const iconName = nodeIconType === NodeIconType.Kamelet ? `kamelet:${props.tile.name}` : props.tile.name; + + const title: ReactElement = ( +
+ {`${props.tile.type} +

{props.tile.title}

+
+ ); const description = (
@@ -66,7 +80,7 @@ export const PropertiesModal: FunctionComponent = (props) return (