From 0d5d8d8c65a479ed8971ae93b1c7f201b51e2893 Mon Sep 17 00:00:00 2001 From: Celia Amador Date: Wed, 26 Nov 2025 15:32:03 +0100 Subject: [PATCH] Use appropriate icon for NoApplications. Add embedded column to ApplicationsTable --- libs/i18n/locales/en/translation.json | 3 +++ .../DetailsPage/Tables/ApplicationsTable.tsx | 22 ++++++++++++++----- .../src/utils/status/applications.ts | 4 ++-- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/libs/i18n/locales/en/translation.json b/libs/i18n/locales/en/translation.json index 261e87afa..acdf53511 100644 --- a/libs/i18n/locales/en/translation.json +++ b/libs/i18n/locales/en/translation.json @@ -246,6 +246,9 @@ "Device applications table": "Device applications table", "Ready": "Ready", "Restarts": "Restarts", + "Embedded": "Embedded", + "Yes": "Yes", + "No": "No", "No applications found": "No applications found", "Reason": "Reason", "Message": "Message", diff --git a/libs/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.tsx b/libs/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.tsx index 242632afb..ad9bee661 100644 --- a/libs/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.tsx +++ b/libs/ui-components/src/components/DetailsPage/Tables/ApplicationsTable.tsx @@ -13,6 +13,13 @@ type ApplicationsTableProps = { specApps: string[]; }; +const emptyAppDetails: Partial = { + name: '', + ready: '-', + restarts: 0, + embedded: false, +}; + const ApplicationsTable = ({ appsStatus, specApps }: ApplicationsTableProps) => { const { t } = useTranslation(); @@ -36,16 +43,18 @@ const ApplicationsTable = ({ appsStatus, specApps }: ApplicationsTableProps) => {t('Ready')} {t('Restarts')} {t('Type')} + {t('Embedded')} {allAppNames.map((appName) => { - const appDetails = appsStatus.find((app) => app.name === appName) || { - status: null, - ready: '-', - restarts: '-', - appType: null, - }; + const appDetails = appsStatus.find((app) => app.name === appName) || emptyAppDetails; + let embedded = '-'; + if (appDetails.embedded === true) { + embedded = t('Yes'); + } else if (appDetails.embedded === false) { + embedded = t('No'); + } return ( @@ -58,6 +67,7 @@ const ApplicationsTable = ({ appsStatus, specApps }: ApplicationsTableProps) => {appDetails.appType ? : '-'} + {embedded} ); })} diff --git a/libs/ui-components/src/utils/status/applications.ts b/libs/ui-components/src/utils/status/applications.ts index a657b73e0..6f268d7bd 100644 --- a/libs/ui-components/src/utils/status/applications.ts +++ b/libs/ui-components/src/utils/status/applications.ts @@ -5,7 +5,7 @@ import { ApplicationsSummaryStatusType as AppSummaryStatus, } from '@flightctl/types'; import { StatusItem } from './common'; -import AsleepIcon from '@patternfly/react-icons/dist/js/icons/asleep-icon'; +import { ResourcesEmptyIcon } from '@patternfly/react-icons/dist/js/icons/resources-empty-icon'; export const getApplicationSummaryStatusItems = (t: TFunction): StatusItem[] => [ { @@ -28,7 +28,7 @@ export const getApplicationSummaryStatusItems = (t: TFunction): StatusItem