fix: bug in plugin form

This commit is contained in:
Junyan Qin
2025-05-09 18:59:06 +08:00
parent 7c15f3ba12
commit da1f7050a6
2 changed files with 29 additions and 13 deletions

View File

@@ -26,7 +26,7 @@ export default function PluginForm({
}) {
const [pluginInfo, setPluginInfo] = useState<Plugin>();
const [pluginConfig, setPluginConfig] = useState<ApiRespPluginConfig>();
const [isLoading, setIsLoading] = useState(false);
const [isSaving, setIsLoading] = useState(false);
useEffect(() => {
// 获取插件信息
@@ -57,26 +57,42 @@ export default function PluginForm({
return (
<div>
<div className="space-y-4">
<div className="text-lg font-medium"></div>
<div className="text-sm text-gray-500">
<div className="space-y-2">
<div className="text-lg font-medium">{pluginInfo.name}</div>
<div className="text-sm text-gray-500 pb-2">
{pluginInfo.description.zh_CN}
</div>
<DynamicFormComponent
itemConfigList={pluginInfo.config_schema}
initialValues={pluginConfig.config}
onSubmit={handleSubmit}
/>
{pluginInfo.config_schema.length > 0 && (
<DynamicFormComponent
itemConfigList={pluginInfo.config_schema}
initialValues={pluginConfig.config}
onSubmit={(values) => {
let config = pluginConfig.config;
config = {
...config,
...values,
};
setPluginConfig({
config: config,
});
}}
/>
)}
{pluginInfo.config_schema.length === 0 && (
<div className="text-sm text-gray-500">
</div>
)}
</div>
<div className="sticky bottom-0 left-0 right-0 bg-background border-t p-4 mt-4">
<div className="flex justify-end gap-2">
<Button
type="submit"
<Button
type="submit"
onClick={() => handleSubmit(pluginConfig.config)}
disabled={isLoading}
disabled={isSaving}
>
{isLoading ? '保存中...' : '保存配置'}
{isSaving ? '保存中...' : '保存配置'}
</Button>
<Button type="button" variant="outline" onClick={onFormCancel}>