import React, { useState } from 'react'; import { Button, Popover, Text, TextContent, Flex, FlexItem, } from '@patternfly/react-core'; import { ExternalLinkAltIcon, HelpIcon } from '@patternfly/react-icons'; // eslint-disable-next-line rulesdir/disallow-fec-relative-imports import { OpenSourceBadge, PageHeader, PageHeaderTitle, } from '@redhat-cloud-services/frontend-components'; import { useNavigate } from 'react-router-dom'; import BetaLabel from './BetaLabel'; import { CREATE_RHEL_IMAGES_WITH_AUTOMATED_MANAGEMENT_URL, CREATING_IMAGES_WITH_IB_SERVICE_URL, OSBUILD_SERVICE_ARCHITECTURE_URL, } from '../../constants'; import { useAppSelector } from '../../store/hooks'; import { imageBuilderApi } from '../../store/imageBuilderApi'; import { selectDistribution } from '../../store/wizardSlice'; import { resolveRelPath } from '../../Utilities/path'; import './ImageBuilderHeader.scss'; import { useFlagWithEphemDefault } from '../../Utilities/useGetEnvironment'; import { ImportBlueprintModal } from '../Blueprints/ImportBlueprintModal'; type ImageBuilderHeaderPropTypes = { activeTab?: number; inWizard?: boolean; }; const AboutImageBuilderPopover = () => { return ( Image builder is a tool for creating deployment-ready customized system images: installation disks, virtual machines, cloud vendor-specific images, and others. By using image builder, you can make these images faster than manual procedures because it eliminates the specific configurations required for each output type. } > ); }; export const ImageBuilderHeader = ({ activeTab, inWizard, }: ImageBuilderHeaderPropTypes) => { const navigate = useNavigate(); const distribution = useAppSelector(selectDistribution); const prefetchTargets = imageBuilderApi.usePrefetch('getArchitectures'); const importExportFlag = useFlagWithEphemDefault( 'image-builder.import.enabled' ); const [showImportModal, setShowImportModal] = useState(false); const isOnBlueprintsTab = activeTab === 0; return ( <> {importExportFlag && ( )} Images } /> {!inWizard && ( <> {importExportFlag && ( )} )} ); };