import { PageActionType } from '@/config/types'; import useSubmitLock from '@/hooks/use-submit-lock'; import { FormDrawer, ModalFooter } from '@gpustack/core-ui'; import { useRef } from 'react'; import { FormContext } from '../config/form-context'; import { FormData, ListItem } from '../config/types'; import GPUServiceStorageForm from '../forms'; type AddModalProps = { title: string; action: PageActionType; open: boolean; onOk: (values: FormData) => void; data?: ListItem | null; onCancel: () => void; storageClassList: Global.BaseOption[]; }; const AddModal: React.FC = ({ title, action, open, onOk, data, onCancel, storageClassList }) => { const form = useRef(null); const { loading, guard, run, release } = useSubmitLock(); const handleSubmit = () => { guard(() => form.current?.submit()); }; const handleCancel = () => { form.current?.resetFields(); onCancel(); }; const onFinish = async (values: FormData) => { await run(() => onOk({ ...values }) ); }; return ( } > ); }; export default AddModal;