diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx index 8b278204ca2c9f..6c67da708a4c1f 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/epm/screens/detail/index.tsx @@ -37,7 +37,7 @@ import { Error, Loading } from '../../../../components'; import { useBreadcrumbs } from '../../../../hooks'; import { WithHeaderLayout, WithHeaderLayoutProps } from '../../../../layouts'; import { RELEASE_BADGE_DESCRIPTION, RELEASE_BADGE_LABEL } from '../../components/release_badge'; -import { useSetPackageInstallStatus } from '../../hooks'; +import { useGetPackageInstallStatus, useSetPackageInstallStatus } from '../../hooks'; import { IntegrationAgentPolicyCount, UpdateIcon, IconPanel, LoadingIconPanel } from './components'; import { OverviewPage } from './overview'; @@ -77,6 +77,15 @@ export function Detail() { // Package info state const [packageInfo, setPackageInfo] = useState(null); const setPackageInstallStatus = useSetPackageInstallStatus(); + const getPackageInstallStatus = useGetPackageInstallStatus(); + + const packageInstallStatus = useMemo(() => { + if (packageInfo === null || !packageInfo.name) { + return undefined; + } + return getPackageInstallStatus(packageInfo.name).status; + }, [packageInfo, getPackageInstallStatus]); + const updateAvailable = packageInfo && 'savedObject' in packageInfo && @@ -88,7 +97,6 @@ export function Detail() { pkgkey ); - const packageInstallStatus = packageInfoData?.response.status; const showCustomTab = useUIExtension(packageInfoData?.response.name ?? '', 'package-detail-custom') !== undefined;