import { useEffect, useMemo, useState } from "react"; import { ArrowLeft } from "lucide-react"; import { Button, Form, App } from "antd"; import { Link, useLocation, useNavigate } from "react-router"; import { createDatasetUsingPost } from "../dataset.api"; import { DatasetType } from "../dataset.model"; import BasicInformation from "./components/BasicInformation"; export default function DatasetCreate() { const navigate = useNavigate(); const location = useLocation(); const { message } = App.useApp(); const [form] = Form.useForm(); const parentDatasetId = useMemo(() => { const state = location.state as CreateDatasetLocationState | null; return state?.parentDatasetId || ""; }, [location.state]); const [newDataset, setNewDataset] = useState(() => ({ name: "", description: "", datasetType: DatasetType.TEXT, tags: [], parentDatasetId, })); useEffect(() => { if (!parentDatasetId) { return; } setNewDataset((prev) => ({ ...prev, parentDatasetId })); form.setFieldsValue({ parentDatasetId }); }, [form, parentDatasetId]); const handleSubmit = async () => { const formValues = await form.validateFields(); const params = { ...formValues, files: undefined, }; try { const { data } = await createDatasetUsingPost(params); message.success(`数据集创建成功`); navigate("/data/management/detail/" + data.id); } catch (error) { console.error(error); message.error("数据集创建失败,请重试"); return; } }; const handleValuesChange = (_, allValues) => { setNewDataset((prev) => ({ ...prev, ...allValues })); }; return (