diff --git a/frontend/src/hooks/api/getters/useFeature/useFeature.ts b/frontend/src/hooks/api/getters/useFeature/useFeature.ts index 270bc4ba80..46f8bf1b16 100644 --- a/frontend/src/hooks/api/getters/useFeature/useFeature.ts +++ b/frontend/src/hooks/api/getters/useFeature/useFeature.ts @@ -1,9 +1,10 @@ -import useSWR, { type SWRConfiguration } from 'swr'; +import type { SWRConfiguration } from 'swr'; import { useCallback } from 'react'; -import { emptyFeature } from './emptyFeature.js'; -import handleErrorResponses from '../httpErrorResponseHandler.js'; +import { emptyFeature } from './emptyFeature.ts'; +import handleErrorResponses from '../httpErrorResponseHandler.ts'; import { formatApiPath } from 'utils/formatPath'; import type { IFeatureToggle } from 'interfaces/featureToggle'; +import { useConditionalSWR } from '../useConditionalSWR/useConditionalSWR.ts'; export interface IUseFeatureOutput { feature: IFeatureToggle; @@ -25,7 +26,9 @@ export const useFeature = ( ): IUseFeatureOutput => { const path = formatFeatureApiPath(projectId, featureId); - const { data, error, mutate } = useSWR( + const { data, error, mutate } = useConditionalSWR( + Boolean(featureId && projectId), + { status: 404 }, ['useFeature', path], () => featureFetcher(path), options,