1
0
Fork 0
mirror of https://github.com/portainer/portainer.git synced 2025-08-04 21:35:23 +02:00

chore(kubernetes): Migrate Helm Templates View to React R8S-239 (#587)

This commit is contained in:
James Player 2025-04-08 12:51:36 +12:00 committed by GitHub
parent ad89df4d0d
commit 264ff5457b
20 changed files with 635 additions and 372 deletions

View file

@ -0,0 +1,55 @@
import { useState } from 'react';
import { useCurrentUser } from '@/react/hooks/useUser';
import { Chart } from '../types';
import { useHelmChartList } from './queries/useHelmChartList';
import { HelmTemplatesList } from './HelmTemplatesList';
import { HelmTemplatesSelectedItem } from './HelmTemplatesSelectedItem';
interface Props {
onSelectHelmChart: (chartName: string) => void;
namespace?: string;
name?: string;
}
export function HelmTemplates({ onSelectHelmChart, namespace, name }: Props) {
const [selectedChart, setSelectedChart] = useState<Chart | null>(null);
const { user } = useCurrentUser();
const { data: charts = [], isLoading: chartsLoading } = useHelmChartList(
user.Id
);
function clearHelmChart() {
setSelectedChart(null);
onSelectHelmChart('');
}
function handleChartSelection(chart: Chart) {
setSelectedChart(chart);
onSelectHelmChart(chart.name);
}
return (
<div className="row">
<div className="col-sm-12 p-0">
{selectedChart ? (
<HelmTemplatesSelectedItem
selectedChart={selectedChart}
clearHelmChart={clearHelmChart}
namespace={namespace}
name={name}
/>
) : (
<HelmTemplatesList
charts={charts}
selectAction={handleChartSelection}
loading={chartsLoading}
/>
)}
</div>
</div>
);
}