refactor: add instance modal

This commit is contained in:
jialin
2026-05-11 19:49:21 +08:00
committed by jialin
parent 7ea7f6666d
commit e9152e8725
4 changed files with 84 additions and 38 deletions
@@ -12,12 +12,12 @@ import { Form } from 'antd';
import { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
import { mockStorageData } from '../../storage/config/mock-data';
import { mockTemplateData } from '../../templates/config/mock-data';
import TemplateBasicForm from '../../templates/forms/basic';
import { instanceTypeOptions, StorageModeValueMap } from '../config';
import { FormData, ListItem } from '../config/types';
import Basic from './basic';
import InstanceTypeFormItem from './instance-type';
import StorageVolume from './storage-volume';
import TemplateFormItem from './template';
interface InstanceFormProps {
ref?: any;
@@ -196,7 +196,7 @@ const GPUServiceInstanceForm: React.FC<InstanceFormProps> = forwardRef(
key: TABKeysMap.TEMPLATE,
label: '实例模板',
forceRender: true,
children: <TemplateFormItem />
children: <TemplateBasicForm />
},
{
key: TABKeysMap.STORAGE,
@@ -3,7 +3,7 @@ import {
Input as CInput,
InputNumber as CInputNumber
} from '@gpustack/core-ui';
import { Button, Flex, Form, Tag } from 'antd';
import { Flex, Form } from 'antd';
import { useEffect, useMemo, useState } from 'react';
import styled from 'styled-components';
import { instanceTypeOptions, InstanceTypeStatusValueMap } from '../config';
@@ -68,20 +68,15 @@ const InstanceTypePicker: React.FC<InstanceTypePickerProps> = ({
<AutoTooltip ghost minWidth={20}>
{selected?.name || '请选择实例类型'}
</AutoTooltip>
<Tag
{/* <Tag
style={{
fontWeight: 400,
color: 'var(--ant-color-text-tertiary)'
}}
>
库存 {selected?.gpu_count}
</Tag>
</Tag> */}
</Flex>
{/* {selected && (
<Tag color="success" style={{ margin: 0 }}>
可用
</Tag>
)} */}
</SummaryTitle>
<SummaryMeta>
<span> {selected?.vram ?? '-'} GiB</span>
@@ -91,7 +86,7 @@ const InstanceTypePicker: React.FC<InstanceTypePickerProps> = ({
</Flex>
</SummaryMeta>
</div>
<Button onClick={() => setOpen(true)}></Button>
{/* <Button onClick={() => setOpen(true)}>更换</Button> */}
</SelectedCard>
<InstanceTypeOverlay
open={open}
@@ -65,7 +65,7 @@ interface TemplateOverlayProps {
onCreate?: () => void;
}
const TemplateSelector: React.FC<TemplateSelectorProps> = ({
export const TemplateSelector: React.FC<TemplateSelectorProps> = ({
value,
onChange,
dataList = mockTemplateData