2025-05-13 22:15:04 +12:00
|
|
|
import { ReactNode } from 'react';
|
|
|
|
|
2025-04-10 16:08:24 +12:00
|
|
|
import { CodeEditor } from '@@/CodeEditor';
|
|
|
|
|
2025-05-13 22:15:04 +12:00
|
|
|
import { DiffViewMode } from './DiffControl';
|
|
|
|
import { DiffViewSection } from './DiffViewSection';
|
|
|
|
import { SelectedRevisionNumber, CompareRevisionNumberFetched } from './types';
|
|
|
|
|
2025-04-10 16:08:24 +12:00
|
|
|
type Props = {
|
|
|
|
manifest: string;
|
2025-05-13 22:15:04 +12:00
|
|
|
selectedRevisionNumber: SelectedRevisionNumber;
|
|
|
|
diffViewMode: DiffViewMode;
|
|
|
|
compareManifest?: string;
|
|
|
|
compareRevisionNumberFetched?: CompareRevisionNumberFetched;
|
|
|
|
isCompareReleaseLoading: boolean;
|
|
|
|
isCompareReleaseError: boolean;
|
|
|
|
diffControl: ReactNode;
|
2025-04-10 16:08:24 +12:00
|
|
|
};
|
|
|
|
|
2025-05-13 22:15:04 +12:00
|
|
|
export function ManifestDetails({
|
|
|
|
manifest,
|
|
|
|
selectedRevisionNumber,
|
|
|
|
diffViewMode,
|
|
|
|
compareManifest,
|
|
|
|
compareRevisionNumberFetched,
|
|
|
|
isCompareReleaseLoading,
|
|
|
|
isCompareReleaseError,
|
|
|
|
diffControl,
|
|
|
|
}: Props) {
|
2025-04-10 16:08:24 +12:00
|
|
|
return (
|
2025-05-13 22:15:04 +12:00
|
|
|
<>
|
|
|
|
{diffControl}
|
|
|
|
{diffViewMode === 'view' ? (
|
|
|
|
<CodeEditor
|
|
|
|
id="helm-manifest"
|
|
|
|
type="yaml"
|
|
|
|
data-cy="helm-manifest"
|
|
|
|
value={manifest}
|
|
|
|
readonly
|
|
|
|
fileName={`Revision #${selectedRevisionNumber}`}
|
|
|
|
placeholder="No manifest found"
|
|
|
|
height="60vh"
|
|
|
|
/>
|
|
|
|
) : (
|
|
|
|
<DiffViewSection
|
|
|
|
isCompareReleaseLoading={isCompareReleaseLoading}
|
|
|
|
isCompareReleaseError={isCompareReleaseError}
|
|
|
|
compareRevisionNumberFetched={compareRevisionNumberFetched}
|
|
|
|
selectedRevisionNumber={selectedRevisionNumber}
|
|
|
|
newText={manifest}
|
|
|
|
originalText={compareManifest ?? ''}
|
|
|
|
id="helm-manifest-diff-viewer"
|
|
|
|
data-cy="helm-manifest-diff-viewer"
|
|
|
|
/>
|
|
|
|
)}
|
|
|
|
</>
|
2025-04-10 16:08:24 +12:00
|
|
|
);
|
|
|
|
}
|