import { isEmpty } from 'lodash';
import React from 'react';
import { ArtifactCollapsibleSection } from './ArtifactCollapsibleSection';
import { Constraints } from './Constraints';
import { VersionTitle } from './VersionTitle';
import { ArtifactActions } from '../../artifactActions/ArtifactActions';
import type { QueryArtifact, QueryArtifactVersion } from '../types';
import { useCreateVersionRollbackActions } from './useCreateRollbackActions.hook';
import { extractVersionRollbackDetails, isVersionVetoed } from './utils';
import { useLogEvent } from '../../utils/logging';
import type { VersionMessageData } from '../../versionMetadata/MetadataComponents';
import { toPinnedMetadata } from '../../versionMetadata/MetadataComponents';
import { getBaseMetadata, getVersionCompareLinks, VersionMetadata } from '../../versionMetadata/VersionMetadata';
export interface IPendingVersionsProps {
artifact: QueryArtifact;
title: string;
versions?: QueryArtifactVersion[];
isDeploying?: boolean;
}
const NUM_VERSIONS_WHEN_COLLAPSED = 1;
export const ArtifactVersions = ({ artifact, versions, title, isDeploying }: IPendingVersionsProps) => {
const numVersions = versions?.length || 0;
const [isExpanded, setIsExpanded] = React.useState(false);
const logEvent = useLogEvent('ArtifactPendingVersion');
if (!versions || !numVersions) return null;
const versionsToShow = isExpanded ? versions : versions.slice(0, NUM_VERSIONS_WHEN_COLLAPSED);
const { pinnedVersion } = artifact;
return (