diff --git a/packages/manager/apps/procedures/src/pages/disableMFA/DisableMFA.page.tsx b/packages/manager/apps/procedures/src/pages/disableMFA/DisableMFA.page.tsx
index bdc4bc7c68d4..09ba95fd484f 100644
--- a/packages/manager/apps/procedures/src/pages/disableMFA/DisableMFA.page.tsx
+++ b/packages/manager/apps/procedures/src/pages/disableMFA/DisableMFA.page.tsx
@@ -4,11 +4,18 @@ import { Outlet, useLocation, useNavigate } from 'react-router-dom';
import { AxiosError } from 'axios';
+import { useFeatureAvailability } from '@ovh-ux/manager-react-components';
+
import { SkeletonLoading } from '@/components/Loading/SkeletonLoading';
import { PageLayout } from '@/components/PageLayout/PageLayout.component';
import { SessionModals } from '@/context/User/modals/SessionModals';
import { useProcedures } from '@/data/hooks/useProcedures';
-import { createRoutePath, errorRoutePath, seeRoutePath } from '@/routes/mfa.constants';
+import {
+ BETA_MANAGER_MFA_DISABLE,
+ createRoutePath,
+ errorRoutePath,
+ seeRoutePath,
+} from '@/routes/mfa.constants';
import { accountDisable2faRoute } from '@/routes/routes';
import { Status2fa } from '@/types/status.type';
@@ -26,6 +33,19 @@ export default function DisableMFA() {
const navigate = useNavigate();
const location = useLocation();
+ const { data: availability, isLoading: isFeatureLoading } = useFeatureAvailability([
+ BETA_MANAGER_MFA_DISABLE,
+ ]);
+ const isBetaManagerMfaDisableAvailable =
+ availability?.[BETA_MANAGER_MFA_DISABLE] ?? false;
+
+ useEffect(() => {
+ if (isBetaManagerMfaDisableAvailable) {
+ const betaUrl = `/beta/#/procedures${location.pathname}${location.search}`;
+ window.location.assign(betaUrl);
+ }
+ }, [isBetaManagerMfaDisableAvailable, location.pathname, location.search]);
+
const navigateTo = (url: string): void => {
if (location.pathname !== url) {
// To avoid redirecting user to the login page after navigating to another view,
@@ -51,6 +71,14 @@ export default function DisableMFA() {
}
}, [isFetched]);
+ if (isFeatureLoading || isBetaManagerMfaDisableAvailable) {
+ return (
+
+
+
+ );
+ }
+
return (
<>
{isLoading ? : }
diff --git a/packages/manager/apps/procedures/src/routes/mfa.constants.ts b/packages/manager/apps/procedures/src/routes/mfa.constants.ts
index ccb06f23b36e..eeff74f2b663 100644
--- a/packages/manager/apps/procedures/src/routes/mfa.constants.ts
+++ b/packages/manager/apps/procedures/src/routes/mfa.constants.ts
@@ -1,3 +1,4 @@
export const createRoutePath = 'create';
export const seeRoutePath = 'see';
export const errorRoutePath = 'error';
+export const BETA_MANAGER_MFA_DISABLE = 'procedures:beta-mfa-disable';