diff --git a/frontend/web/components/EnvironmentReadyChecker.tsx b/frontend/web/components/EnvironmentReadyChecker.tsx index 0967f5366ff5..cb82fa5abf49 100644 --- a/frontend/web/components/EnvironmentReadyChecker.tsx +++ b/frontend/web/components/EnvironmentReadyChecker.tsx @@ -1,4 +1,4 @@ -import { FC } from 'react' +import { FC, useEffect, useState } from 'react' import { useGetEnvironmentQuery } from 'common/services/useEnvironment' type EnvironmentReadyCheckerType = { @@ -13,12 +13,22 @@ const EnvironmentReadyChecker: FC = ({ children, match, }) => { + const [environmentCreated, setEnvironmentCreated] = useState(false) + const { data, isLoading } = useGetEnvironmentQuery( { id: match.params.environmentId, }, - { pollingInterval: 1000, skip: !match.params.environmentId }, + { + pollingInterval: 1000, + skip: !match.params.environmentId || environmentCreated, + }, ) + useEffect(() => { + if (!!data && !data?.is_creating) { + setEnvironmentCreated(true) + } + }, [data]) if (!match?.params?.environmentId) { return children }