import { PageActionType } from '@/config/types'; import useSubmitLock from '@/hooks/use-submit-lock'; import { FormDrawer, ModalFooter } from '@gpustack/core-ui'; import { useRef } from 'react'; import { FormData, ListItem } from '../config/types'; import GPUServicePublicKeyForm from '../forms'; type AddPublicKeyModalProps = { title: string; action: PageActionType; open: boolean; onOk: (values: FormData) => void; data?: ListItem | null; onCancel: () => void; }; const AddPublicKeyModal: React.FC = ({ title, action, open, onOk, data, onCancel }) => { 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 AddPublicKeyModal;