diff --git a/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx b/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx index 312ed7eb04a98..2bc3d5661e22b 100644 --- a/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx +++ b/x-pack/plugins/infra/public/common/asset_details_config/asset_details_tabs.tsx @@ -6,7 +6,9 @@ */ import { i18n } from '@kbn/i18n'; +import React from 'react'; import { ContentTabIds, type Tab } from '../../components/asset_details/types'; +import { NewBadge } from '../../components/new_badge'; export const commonFlyoutTabs: Tab[] = [ { @@ -32,6 +34,7 @@ export const commonFlyoutTabs: Tab[] = [ name: i18n.translate('xpack.infra.metrics.nodeDetails.tabs.profiling', { defaultMessage: 'Universal Profiling', }), + append: , }, { id: ContentTabIds.LOGS, diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx index 54651b46bcce8..256ef447f8709 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/cpu_profiling_prompt.tsx @@ -8,8 +8,8 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButtonEmpty } from '@elastic/eui'; -import { EuiBadge } from '@elastic/eui'; import { EuiFlexGroup } from '@elastic/eui'; +import { NewBadge } from '../../../../new_badge'; import { useProfilingIntegrationSetting } from '../../../../../hooks/use_profiling_integration_setting'; import { useTabSwitcherContext } from '../../../hooks/use_tab_switcher'; @@ -28,11 +28,7 @@ export function CpuProfilingPrompt() { gutterSize="s" data-test-subj="infraAssetDetailsCPUProfilingPrompt" > - - {i18n.translate('xpack.infra.cpuProfilingPrompt.newBadgeLabel', { - defaultMessage: 'NEW', - })} - + {i18n.translate('xpack.infra.cpuProfilingPrompt.promptText', { defaultMessage: 'View CPU Breakdown using', diff --git a/x-pack/plugins/infra/public/components/asset_details/types.ts b/x-pack/plugins/infra/public/components/asset_details/types.ts index dd3ae9af9d62e..346eda2bb3c32 100644 --- a/x-pack/plugins/infra/public/components/asset_details/types.ts +++ b/x-pack/plugins/infra/public/components/asset_details/types.ts @@ -60,6 +60,7 @@ export type RenderMode = FlyoutProps | FullPageProps; export interface Tab { id: ContentTabIds; name: string; + append?: JSX.Element; } export type LinkOptions = 'alertRule' | 'nodeDetails' | 'apmServices'; diff --git a/x-pack/plugins/infra/public/components/new_badge.tsx b/x-pack/plugins/infra/public/components/new_badge.tsx new file mode 100644 index 0000000000000..efbe026d8b7aa --- /dev/null +++ b/x-pack/plugins/infra/public/components/new_badge.tsx @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiBadge } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; + +export const NewBadge = () => ( + + {i18n.translate('xpack.infra.newBadgeLabel', { + defaultMessage: 'NEW', + })} + +);