Files
gpustack-ui/src/pages/cluster-management/step-forms/use-step-list.tsx
T
2026-01-08 09:26:55 +08:00

129 lines
3.5 KiB
TypeScript

import { useIntl } from '@umijs/max';
import { useMemo } from 'react';
import { ProviderType, ProviderValueMap } from '../config';
import { moduleMap } from './module-registry';
export default function useStepList() {
const intl = useIntl();
return useMemo(
() => [
{
title: intl.formatMessage({
id: 'clusters.create.steps.selectProvider'
}),
content: '',
subTitle: '',
description:
'Choose the environment where your cluster will be deployed.',
showButtons: (provider?: ProviderType) => {
return {
previous: false,
next: true,
save: false,
skip: false,
done: false
};
},
defaultShow: true,
showForms: [],
showModules: [moduleMap.ProviderCatalog],
providers: []
},
{
title: intl.formatMessage({ id: 'clusters.create.steps.configure' }),
content: '',
description:
'Set the cluster name, description, or other essential parameters in advanced settings.',
showButtons: (provider?: ProviderType) => {
return {
previous: true,
next: provider === ProviderValueMap.DigitalOcean,
save: provider !== ProviderValueMap.DigitalOcean,
skip: false,
done: false
};
},
defaultShow: true,
showForms: [moduleMap.BasicForm],
showModules: [],
providers: []
},
{
title: intl.formatMessage({ id: 'clusters.button.addNodePool' }),
content: '',
showButtons: (provider?: ProviderType) => {
return {
previous: true,
next: false,
save: true,
skip: false,
done: false
};
},
defaultShow: false,
showForms: [moduleMap.WorkerPoolForm],
showModules: [],
providers: [ProviderValueMap.DigitalOcean]
},
{
title: intl.formatMessage({ id: 'clusters.create.steps.complete' }),
content: '',
description: '',
showButtons: (provider?: ProviderType) => {
return {
previous: false,
next: false,
save: false,
skip: true,
done: false
};
},
defaultShow: false,
showForms: [],
showModules: [moduleMap.SuccessResult],
providers: [ProviderValueMap.Docker, ProviderValueMap.Kubernetes]
},
{
title: intl.formatMessage({ id: 'resources.button.create' }),
content: '',
description: '',
showButtons: (provider?: ProviderType) => {
return {
previous: false,
next: false,
save: false,
skip: false,
done: true
};
},
defaultShow: false,
hideInSteps: true,
showForms: [],
showModules: [moduleMap.AddWorkerStep],
providers: [ProviderValueMap.Docker]
},
{
title: intl.formatMessage({ id: 'clusters.button.register' }),
content: '',
description: '',
showButtons: (provider?: ProviderType) => {
return {
previous: false,
next: false,
save: false,
skip: false,
done: true
};
},
defaultShow: false,
hideInSteps: true,
showForms: [],
showModules: [moduleMap.AddWorkerStep],
providers: [ProviderValueMap.Kubernetes]
}
],
[intl]
);
}