1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-07-18 21:09:40 +02:00
portainer/app/react/kubernetes/helm/HelmApplicationView/ChartActions/ChartActions.tsx
Ali 4ee349bd6b feat(helm): helm actions [r8s-259] (#715)
Co-authored-by: James Player <james.player@portainer.io>
Co-authored-by: Cara Ryan <cara.ryan@portainer.io>
Co-authored-by: stevensbkang <skan070@gmail.com>
2025-05-13 22:15:04 +12:00

58 lines
1.4 KiB
TypeScript

import { EnvironmentId } from '@/react/portainer/environments/types';
import { HelmRelease } from '../../types';
import { RollbackButton } from './RollbackButton';
import { UninstallButton } from './UninstallButton';
import { UpgradeButton } from './UpgradeButton';
type Props = {
environmentId: EnvironmentId;
releaseName: string;
namespace: string;
latestRevision?: number;
earlistRevision?: number;
selectedRevision?: number;
release?: HelmRelease;
updateRelease: (release: HelmRelease) => void;
};
export function ChartActions({
environmentId,
releaseName,
namespace,
latestRevision,
earlistRevision,
selectedRevision,
release,
updateRelease,
}: Props) {
const showRollbackButton =
latestRevision && earlistRevision && latestRevision > earlistRevision;
return (
<div className="inline-flex gap-2 flex-wrap">
<UpgradeButton
environmentId={environmentId}
releaseName={releaseName}
namespace={namespace}
release={release}
updateRelease={updateRelease}
/>
<UninstallButton
environmentId={environmentId}
releaseName={releaseName}
namespace={namespace}
/>
{showRollbackButton && (
<RollbackButton
latestRevision={latestRevision}
selectedRevision={selectedRevision}
environmentId={environmentId}
releaseName={releaseName}
namespace={namespace}
/>
)}
</div>
);
}