import { type FormEvent } from "react"; import Icon from "../../components/common/Icon"; import type { ScriptType, Visibility } from "../../services/api"; import { destinationChipClass, formFieldClass, formHintClass, formInputClass, iconButtonClass, modalBackdropClass, modalEyebrowClass, modalFooterClass, modalFormClass, modalHeaderClass, modalPanelClass, modalTitleClass, primaryButtonClass, secondaryButtonClass, } from "./modalUi"; type NewScriptForm = { name: string; scriptType: ScriptType; visibility: Visibility; parentPath: string; }; type CreateScriptModalProps = { open: boolean; creating: boolean; form: NewScriptForm; scripts: Array<{ script_type: ScriptType; script_name: string; relative_path?: string; }>; onFormChange: (form: NewScriptForm) => void; onSubmit: (event: FormEvent) => void; onClose: () => void; }; export function CreateScriptModal({ open, creating, form, scripts: _scripts, onFormChange, onSubmit, onClose, }: CreateScriptModalProps) { if (!open) return null; return (
工作副本

新建构建脚本

保存到:{form.parentPath || "个人根目录"}
脚本类型 {( [ { type: "notebook" as const, title: "Jupyter Notebook", desc: "交互式数据探索与模型实验", icon: "notebook" as const, iconTone: "bg-[#fff0ed] text-[#dd5a4c]", size: 22, }, { type: "python" as const, title: "Python 脚本", desc: "批处理、训练和模型调用任务", icon: "python" as const, iconTone: "bg-[#e9f3ff] text-[#2a75c5]", size: 23, }, ] as const ).map((item) => { const selected = form.scriptType === item.type; return ( ); })}
); }