debian-image-builder-frontend/src/Router.js
lucasgarfield 61c25e8331 Router: Hotfix to update experimental flag
We failed to update the experimental flag in the routing to use the new
useExperimentalFlag hook. This led to the V2 wizard being exposed in
stage-stable. This commit fixes the bug.
2024-03-07 16:24:21 +01:00

58 lines
1.6 KiB
JavaScript

import React, { lazy, Suspense } from 'react';
import { useFlag } from '@unleash/proxy-client-react';
import { Route, Routes } from 'react-router-dom';
import EdgeImageDetail from './Components/edge/ImageDetails';
import ShareImageModal from './Components/ShareImageModal/ShareImageModal';
import { manageEdgeImagesUrlName } from './Utilities/edge';
import { useExperimentalFlag } from './Utilities/useExperimentalFlag';
const LandingPage = lazy(() => import('./Components/LandingPage/LandingPage'));
const CreateImageWizard = lazy(() =>
import('./Components/CreateImageWizard/CreateImageWizard')
);
const CreateImageWizardV2 = lazy(() =>
import('./Components/CreateImageWizardV2')
);
export const Router = () => {
const edgeParityFlag = useFlag('edgeParity.image-list');
const experimentalFlag = useExperimentalFlag();
return (
<Routes>
<Route
path="*"
element={
<Suspense>
<LandingPage />
</Suspense>
}
>
<Route path="share/:composeId" element={<ShareImageModal />} />
</Route>
<Route
path="imagewizard/:composeId?"
element={
<Suspense>
{experimentalFlag ? <CreateImageWizardV2 /> : <CreateImageWizard />}
</Suspense>
}
/>
{edgeParityFlag && (
<Route
path={`/${manageEdgeImagesUrlName}/:imageId`}
element={<EdgeImageDetail />}
>
<Route path="*" element={<EdgeImageDetail />} />
<Route
path={`versions/:imageVersionId/*`}
element={<EdgeImageDetail />}
/>
</Route>
)}
</Routes>
);
};