debian-image-builder-frontend/src/Components/edge/ImagesTable.tsx
regexowl 1bf459ba58 Components: Migrate remaining files to TypeScript
Remaining JavaScript files were migrated to TypeScript. Files that didn't include JSX were renamed from `.tsx` to `.ts`.
2024-05-03 16:36:26 +02:00

47 lines
1.5 KiB
TypeScript

import React from 'react';
import AsyncComponent from '@redhat-cloud-services/frontend-components/AsyncComponent';
import ErrorState from '@redhat-cloud-services/frontend-components/ErrorState';
import Unavailable from '@redhat-cloud-services/frontend-components/Unavailable';
import { useFlag } from '@unleash/proxy-client-react';
import { useDispatch } from 'react-redux';
import { useNavigate, useLocation } from 'react-router-dom';
import { CREATING_IMAGES_WITH_IB_URL } from '../../constants';
import {
getNotificationProp,
manageEdgeImagesUrlName,
} from '../../Utilities/edge';
import { resolveRelPath } from '../../Utilities/path';
const ImagesTable = () => {
const dispatch = useDispatch();
const notificationProp = getNotificationProp(dispatch);
// Feature flag for the federated modules
const edgeParityFlag = useFlag('edgeParity.image-list');
// Feature flag to access the 'local' images table list
const edgeLocalImageTable = useFlag('image-builder.edge.local-image-table');
if (edgeLocalImageTable) {
return <div />;
}
if (edgeParityFlag) {
return (
<AsyncComponent
appName="edge"
module="./Images"
ErrorComponent={<ErrorState />}
navigateProp={useNavigate}
locationProp={useLocation}
showHeaderProp={false}
docLinkProp={CREATING_IMAGES_WITH_IB_URL}
notificationProp={notificationProp}
pathPrefix={resolveRelPath('')}
urlName={manageEdgeImagesUrlName}
/>
);
}
return <Unavailable />;
};
export default ImagesTable;