chore(i18n): improve i18n

This commit is contained in:
Fu Diwei 2026-01-19 11:02:13 +08:00 committed by RHQYZ
parent 462633c1be
commit 82ca90cf95
13 changed files with 98 additions and 9 deletions

View File

@ -34,6 +34,7 @@ import BizDeployNodeConfigFieldsProviderBaotaPanelConsole from "./BizDeployNodeC
import BizDeployNodeConfigFieldsProviderBaotaPanelGo from "./BizDeployNodeConfigFieldsProviderBaotaPanelGo.tsx";
import BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole from "./BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole";
import BizDeployNodeConfigFieldsProviderBaotaWAF from "./BizDeployNodeConfigFieldsProviderBaotaWAF.tsx";
import BizDeployNodeConfigFieldsProviderBaotaWAFConsole from "./BizDeployNodeConfigFieldsProviderBaotaWAFConsole.tsx";
import BizDeployNodeConfigFieldsProviderBunnyCDN from "./BizDeployNodeConfigFieldsProviderBunnyCDN";
import BizDeployNodeConfigFieldsProviderBytePlusCDN from "./BizDeployNodeConfigFieldsProviderBytePlusCDN";
import BizDeployNodeConfigFieldsProviderCdnfly from "./BizDeployNodeConfigFieldsProviderCdnfly";
@ -148,6 +149,7 @@ const providerComponentMap: Partial<Record<DeploymentProviderType, React.Compone
[DEPLOYMENT_PROVIDERS.BAOTAPANELGO_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaPanelGoConsole,
[DEPLOYMENT_PROVIDERS.BAOTAPANELGO]: BizDeployNodeConfigFieldsProviderBaotaPanelGo,
[DEPLOYMENT_PROVIDERS.BAOTAWAF]: BizDeployNodeConfigFieldsProviderBaotaWAF,
[DEPLOYMENT_PROVIDERS.BAOTAWAF_CONSOLE]: BizDeployNodeConfigFieldsProviderBaotaWAFConsole,
[DEPLOYMENT_PROVIDERS.BUNNY_CDN]: BizDeployNodeConfigFieldsProviderBunnyCDN,
[DEPLOYMENT_PROVIDERS.BYTEPLUS_CDN]: BizDeployNodeConfigFieldsProviderBytePlusCDN,
[DEPLOYMENT_PROVIDERS.CDNFLY]: BizDeployNodeConfigFieldsProviderCdnfly,

View File

@ -4,6 +4,7 @@ import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import Show from "@/components/Show";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
@ -24,6 +25,10 @@ const BizDeployNodeConfigFieldsProviderAPISIX = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.apisix.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "resourceType"]}
initialValue={initialValues.resourceType}

View File

@ -4,6 +4,7 @@ import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import MultipleSplitValueInput from "@/components/MultipleSplitValueInput";
import Tips from "@/components/Tips";
import { isPortNumber } from "@/utils/validator";
import { useFormNestedFieldsContext } from "./_context";
@ -22,6 +23,10 @@ const BizDeployNodeConfigFieldsProviderBaotaWAF = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.baotawaf.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "siteNames"]}
initialValue={initialValues.siteNames}

View File

@ -0,0 +1,33 @@
import type { getI18n } from "react-i18next";
import { useTranslation } from "react-i18next";
import { Form } from "antd";
import { z } from "zod";
import Tips from "@/components/Tips";
const BizDeployNodeConfigFieldsProviderBaotaWAFConsole = () => {
const { t } = useTranslation();
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.baotawaf_console.guide") }}></span>} />
</Form.Item>
</>
);
};
const getInitialValues = (): Nullish<z.infer<ReturnType<typeof getSchema>>> => {
return {};
};
const getSchema = (_: { i18n?: ReturnType<typeof getI18n> }) => {
return z.object({});
};
const _default = Object.assign(BizDeployNodeConfigFieldsProviderBaotaWAFConsole, {
getInitialValues,
getSchema,
});
export default _default;

View File

@ -4,6 +4,7 @@ import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import Show from "@/components/Show";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
@ -24,6 +25,10 @@ const BizDeployNodeConfigFieldsProviderKong = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.kong.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "resourceType"]}
initialValue={initialValues.resourceType}

View File

@ -3,6 +3,8 @@ import { Form, Input, Switch } from "antd";
import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
const BizDeployNodeConfigFieldsProviderProxmoxVE = () => {
@ -17,6 +19,10 @@ const BizDeployNodeConfigFieldsProviderProxmoxVE = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.proxmoxve.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "nodeName"]}
initialValue={initialValues.nodeName}

View File

@ -5,6 +5,7 @@ import { z } from "zod";
import MultipleSplitValueInput from "@/components/MultipleSplitValueInput";
import Show from "@/components/Show";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
@ -27,6 +28,10 @@ const BizDeployNodeConfigFieldsProviderRatPanel = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.ratpanel.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "resourceType"]}
initialValue={initialValues.resourceType}

View File

@ -4,6 +4,7 @@ import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import Show from "@/components/Show";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
@ -24,6 +25,10 @@ const BizDeployNodeConfigFieldsProviderSafeLine = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.safeline.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "resourceType"]}
initialValue={initialValues.resourceType}

View File

@ -3,6 +3,8 @@ import { Form, Input, Switch } from "antd";
import { createSchemaFieldRule } from "antd-zod";
import { z } from "zod";
import Tips from "@/components/Tips";
import { useFormNestedFieldsContext } from "./_context";
const BizDeployNodeConfigFieldsProviderSynologyDSM = () => {
@ -17,6 +19,10 @@ const BizDeployNodeConfigFieldsProviderSynologyDSM = () => {
return (
<>
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.deploy.form.synologydsm.guide") }}></span>} />
</Form.Item>
<Form.Item
name={[parentNamePath, "certificateIdOrDesc"]}
initialValue={initialValues.certificateIdOrDesc}

View File

@ -192,7 +192,7 @@
"workflow_node.monitor.label": "Monitor certificate",
"workflow_node.monitor.default_name": "Monitoring",
"workflow_node.monitor.form_anchor.parameters.tab": "Parameters",
"workflow_node.monitor.form.guide": "Certimate will send a HEAD request to the target address to obtain the certificate. Please ensure that the address is accessible through HTTPS protocol.",
"workflow_node.monitor.form.guide": "It will send a HEAD request to the target address to obtain the certificate. Please ensure that the address is accessible through HTTPS protocol.",
"workflow_node.monitor.form.host.label": "Host",
"workflow_node.monitor.form.host.placeholder": "Please enter host",
"workflow_node.monitor.form.port.label": "Port",
@ -398,6 +398,7 @@
"workflow_node.deploy.form.aliyun_waf_domain.label": "Alibaba Cloud WAF SNI domain (Optional)",
"workflow_node.deploy.form.aliyun_waf_domain.placeholder": "Please enter Alibaba Cloud WAF SNI domain name",
"workflow_node.deploy.form.aliyun_waf_domain.help": "Notes: Leave it blank to set the default certificate; otherwise, to set the extension one for SNI.",
"workflow_node.deploy.form.apisix.guide": "Requires APISIX v2.0 or higher.",
"workflow_node.deploy.form.apisix_resource_type.option.certificate.label": "SSL certificate",
"workflow_node.deploy.form.apisix_certificate_id.label": "APISIX certificate ID",
"workflow_node.deploy.form.apisix_certificate_id.placeholder": "Please enter APISIX certificate ID",
@ -479,7 +480,7 @@
"workflow_node.deploy.form.baotapanel_site_names.tooltip": "You can find it on aaPanel dashboard.",
"workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.title": "Change aaPanel website names",
"workflow_node.deploy.form.baotapanel_site_names.multiple_input_modal.placeholder": "Please enter aaPanel website name",
"workflow_node.deploy.form.baotapanel_console.guide": "Requires aaPanel v8.3+ or higher.",
"workflow_node.deploy.form.baotapanel_console.guide": "Requires aaPanel v8.3 or higher.",
"workflow_node.deploy.form.baotapanel_console_auto_restart.label": "Auto restart aaPanel after deployment",
"workflow_node.deploy.form.baotapanelgo_site_type.label": "aaPanel WinGo website type",
"workflow_node.deploy.form.baotapanelgo_site_type.placeholder": "Please select aaPanel WinGo website type",
@ -498,6 +499,7 @@
"workflow_node.deploy.form.baotapanelgo_site_names.tooltip": "You can find it on aaPanel WinGo dashboard.",
"workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.title": "Change aaPanel WinGo website names",
"workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.placeholder": "Please enter aaPanel WinGo website name",
"workflow_node.deploy.form.baotawaf.guide": "Requires aaWAF v5.7 or higher.",
"workflow_node.deploy.form.baotawaf_site_names.label": "aaWAF website names",
"workflow_node.deploy.form.baotawaf_site_names.placeholder": "Please enter aaWAF website names (separated by semicolons)",
"workflow_node.deploy.form.baotawaf_site_names.errmsg.invalid": "Please enter a valid aaWAF website name",
@ -507,6 +509,7 @@
"workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.placeholder": "Please enter aaWAF website name",
"workflow_node.deploy.form.baotawaf_site_port.label": "aaWAF website SSL port",
"workflow_node.deploy.form.baotawaf_site_port.placeholder": "Please enter aaWAF SSL port",
"workflow_node.deploy.form.baotawaf_console.guide": "Requires aaWAF v5.7 or higher.",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.label": "Bunny CDN pull zone ID",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.placeholder": "Please enter Bunny CDN pull zone ID",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.tooltip": "What is this? See <a href=\"https://dash.bunny.net/cdn\" target=\"_blank\">https://dash.bunny.net/cdn</a>",
@ -651,6 +654,7 @@
"workflow_node.deploy.form.k8s_secret_labels.help": "Notes: One key value pair per line, separated by colon.",
"workflow_node.deploy.form.k8s_secret_labels.errmsg.invalid": "Please enter a valid labels",
"workflow_node.deploy.form.k8s_secret_labels.tooltip": "Example: <br><i>environment: production<br>app: nginx</i>",
"workflow_node.deploy.form.kong.guide": "Requires Kong v2.0 or higher.",
"workflow_node.deploy.form.kong_resource_type.option.certificate.label": "SSL certificate",
"workflow_node.deploy.form.kong_workspace.label": "Kong workspace (Optional)",
"workflow_node.deploy.form.kong_workspace.placeholder": "Please enter Kong workspace",
@ -747,6 +751,7 @@
"workflow_node.deploy.form.nginxproxymanager_certificate_id.label": "NPM certificate ID",
"workflow_node.deploy.form.nginxproxymanager_certificate_id.placeholder": "Please enter NPM certificate ID",
"workflow_node.deploy.form.nginxproxymanager_certificate_id.tooltip": "You can find it on NPM dashboard.",
"workflow_node.deploy.form.proxmoxve.guide": "Requires Proxmox VE v5.2 or higher.",
"workflow_node.deploy.form.proxmoxve_node_name.label": "Proxmox VE cluster node name",
"workflow_node.deploy.form.proxmoxve_node_name.placeholder": "Please enter Proxmox VE cluster node name",
"workflow_node.deploy.form.proxmoxve_auto_restart.label": "Auto restart Proxmox VE after deployment",
@ -771,6 +776,7 @@
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.label": "Rain Yun RCDN certificate ID",
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.placeholder": "Please enter Rain Yun RCDN certificate ID",
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.tooltip": "For more information, see <a href=\"https://app.rainyun.com/apps/ssl/list\" target=\"_blank\">https://app.rainyun.com/apps/ssl/list</a>",
"workflow_node.deploy.form.ratpanel.guide": "Requires AcePanel v2.5 or higher.",
"workflow_node.deploy.form.ratpanel_resource_type.option.website.label": "Website",
"workflow_node.deploy.form.ratpanel_site_names.label": "AcePanel website names",
"workflow_node.deploy.form.ratpanel_site_names.placeholder": "Please enter AcePanel website names (separated by semicolons)",
@ -812,6 +818,7 @@
"workflow_node.deploy.form.s3_jks_storepass.label": "JKS store password",
"workflow_node.deploy.form.s3_jks_storepass.placeholder": "Please enter JKS store password",
"workflow_node.deploy.form.s3_jks_storepass.tooltip": "For more information, see <a href=\"https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html\" target=\"_blank\">https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html</a>",
"workflow_node.deploy.form.safeline.guide": "Requires SafeLine v6.6 or higher.",
"workflow_node.deploy.form.safeline_resource_type.option.certificate.label": "Certificate",
"workflow_node.deploy.form.safeline_certificate_id.label": "SafeLine certificate ID",
"workflow_node.deploy.form.safeline_certificate_id.placeholder": "Please enter SafeLine certificate ID",
@ -862,6 +869,7 @@
"workflow_node.deploy.form.ssh_preset_scripts.ps_binding_rdp": "PowerShell - Binding RDP",
"workflow_node.deploy.form.ssh_use_scp.label": "Fallback to use SCP",
"workflow_node.deploy.form.ssh_use_scp.tooltip": "If the remote server does not support SFTP, please check this option to fallback to SCP.",
"workflow_node.deploy.form.synologydsm.guide": "Requires Synology DSM v6.0 or higher.",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.label": "Synology DSM certificate ID or description (Optional)",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.placeholder": "Please enter Synology DSM certificate ID or description",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.help": "Notes: Leave it blank to import a new certificate; otherwise, to replace the existing one.",

View File

@ -191,7 +191,7 @@
"workflow_node.monitor.label": "监控网站证书",
"workflow_node.monitor.default_name": "监控",
"workflow_node.monitor.form_anchor.parameters.tab": "参数设置",
"workflow_node.monitor.form.guide": "Certimate 将向目标地址发送一个 HEAD 请求来获取相应的域名证书,请确保该地址可通过 HTTPS 协议访问。",
"workflow_node.monitor.form.guide": "将向目标地址发送一个 HEAD 请求来获取相应的域名证书,请确保该地址可通过 HTTPS 协议访问。",
"workflow_node.monitor.form.host.label": "主机地址",
"workflow_node.monitor.form.host.placeholder": "请输入主机地址(域名或 IP",
"workflow_node.monitor.form.port.label": "主机端口",
@ -397,6 +397,7 @@
"workflow_node.deploy.form.aliyun_waf_domain.label": "阿里云 WAF 扩展域名(可选)",
"workflow_node.deploy.form.aliyun_waf_domain.placeholder": "请输入阿里云 WAF 扩展域名",
"workflow_node.deploy.form.aliyun_waf_domain.help": "提示:不填写时,将替换实例的默认证书;否则,将替换扩展域名证书。",
"workflow_node.deploy.form.apisix.guide": "需要 APISIX v2.0 或更高版本。",
"workflow_node.deploy.form.apisix_resource_type.option.certificate.label": "替换指定证书",
"workflow_node.deploy.form.apisix_certificate_id.label": "APISIX 证书 ID",
"workflow_node.deploy.form.apisix_certificate_id.placeholder": "请输入 APISIX 证书 ID",
@ -497,6 +498,7 @@
"workflow_node.deploy.form.baotapanelgo_site_names.tooltip": "请登录宝塔面板极速版查看",
"workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.title": "修改宝塔面板极速版网站名称",
"workflow_node.deploy.form.baotapanelgo_site_names.multiple_input_modal.placeholder": "请输入宝塔面板极速版网站名称",
"workflow_node.deploy.form.baotawaf.guide": "需要堡塔云 WAF v5.7 或更高版本。",
"workflow_node.deploy.form.baotawaf_site_names.label": "堡塔云 WAF 网站名称",
"workflow_node.deploy.form.baotawaf_site_names.placeholder": "请输入堡塔云 WAF 网站名称(多个值请用半角分号隔开)",
"workflow_node.deploy.form.baotawaf_site_names.errmsg.invalid": "请输入正确的堡塔云 WAF 网站名称",
@ -506,6 +508,7 @@
"workflow_node.deploy.form.baotawaf_site_names.multiple_input_modal.placeholder": "请输入堡塔云 WAF 网站名称",
"workflow_node.deploy.form.baotawaf_site_port.label": "堡塔云 WAF 网站 SSL 端口",
"workflow_node.deploy.form.baotawaf_site_port.placeholder": "请输入堡塔云 WAF 网站 SSL 端口",
"workflow_node.deploy.form.baotawaf_console.guide": "需要堡塔云 WAF v5.7 或更高版本。",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.label": "Bunny CDN 拉取区域 ID",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.placeholder": "请输入 Bunny CDN 拉取区域 ID",
"workflow_node.deploy.form.bunny_cdn_pull_zone_id.tooltip": "这是什么?请参阅 <a href=\"https://dash.bunny.net/cdn\" target=\"_blank\">https://dash.bunny.net/cdn</a>",
@ -649,6 +652,7 @@
"workflow_node.deploy.form.k8s_secret_labels.help": "提示:每行一个键值对,以分号分隔。",
"workflow_node.deploy.form.k8s_secret_labels.errmsg.invalid": "请输入有效的标签键值对",
"workflow_node.deploy.form.k8s_secret_labels.tooltip": "示例:<br><i>environment: production<br>app: nginx</i>",
"workflow_node.deploy.form.kong.guide": "需要 Kong v2.0 或更高版本。",
"workflow_node.deploy.form.kong_resource_type.option.certificate.label": "替换指定证书",
"workflow_node.deploy.form.kong_workspace.label": "Kong 工作空间(可选)",
"workflow_node.deploy.form.kong_workspace.placeholder": "请输入 Kong 工作空间",
@ -745,6 +749,7 @@
"workflow_node.deploy.form.nginxproxymanager_certificate_id.label": "NPM 证书 ID",
"workflow_node.deploy.form.nginxproxymanager_certificate_id.placeholder": "请输入 NPM 证书 ID",
"workflow_node.deploy.form.nginxproxymanager_certificate_id.tooltip": "请登录 NPM 面板查看",
"workflow_node.deploy.form.proxmoxve.guide": "需要 Proxmox VE v5.2 或更高版本。",
"workflow_node.deploy.form.proxmoxve_node_name.label": "Proxmox VE 集群节点名称",
"workflow_node.deploy.form.proxmoxve_node_name.placeholder": "请输入 Proxmox VE 集群节点名称",
"workflow_node.deploy.form.proxmoxve_auto_restart.label": "部署后自动重启 Proxmox VE 服务",
@ -769,6 +774,7 @@
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.label": "雨云 RCDN 证书 ID",
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.placeholder": "请输入雨云 RCDN 证书 ID",
"workflow_node.deploy.form.rainyun_rcdn_certificate_id.tooltip": "这是什么?请参阅 <a href=\"https://app.rainyun.com/apps/ssl/list\" target=\"_blank\">https://app.rainyun.com/apps/ssl/list</a>",
"workflow_node.deploy.form.ratpanel.guide": "需要耗子面板 v2.5 或更高版本。",
"workflow_node.deploy.form.ratpanel_resource_type.option.website.label": "部署到指定网站",
"workflow_node.deploy.form.ratpanel_site_names.label": "耗子面板网站名称",
"workflow_node.deploy.form.ratpanel_site_names.placeholder": "请输入耗子面板网站名称(多个值请用半角分号隔开)",
@ -810,6 +816,7 @@
"workflow_node.deploy.form.s3_jks_storepass.label": "JKS 密钥库存储口令",
"workflow_node.deploy.form.s3_jks_storepass.placeholder": "请输入 JKS 密钥库存储口令",
"workflow_node.deploy.form.s3_jks_storepass.tooltip": "这是什么?请参阅 <a href=\"https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html\" target=\"_blank\">https://docs.oracle.com/cd/E19509-01/820-3503/ggfen/index.html</a>",
"workflow_node.deploy.form.safeline.guide": "需要雷池 v6.6 或更高版本。",
"workflow_node.deploy.form.safeline_resource_type.option.certificate.label": "替换指定证书",
"workflow_node.deploy.form.safeline_certificate_id.label": "雷池证书 ID",
"workflow_node.deploy.form.safeline_certificate_id.placeholder": "请输入雷池证书 ID",
@ -860,6 +867,7 @@
"workflow_node.deploy.form.ssh_preset_scripts.ps_binding_rdp": "PowerShell - 导入并绑定到 RDP",
"workflow_node.deploy.form.ssh_use_scp.label": "回退使用 SCP",
"workflow_node.deploy.form.ssh_use_scp.tooltip": "如果你的远程服务器不支持 SFTP请勾选此选项回退为 SCP。",
"workflow_node.deploy.form.synologydsm.guide": "需要群晖 DSM v6.0 或更高版本。",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.label": "群晖 DSM 原证书 ID 或描述(可选)",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.placeholder": "请输入群晖 DSM 原证书 ID 或描述",
"workflow_node.deploy.form.synologydsm_certificate_id_or_desc.help": "提示:不填写时,将上传新证书;否则,将替换原证书。",

View File

@ -2,7 +2,7 @@
import { useTranslation } from "react-i18next";
import { IconDots, IconEdit, IconPlus, IconTrash } from "@tabler/icons-react";
import { useControllableValue, useMount } from "ahooks";
import { App, Button, Card, Dropdown, Form, Input, Typography } from "antd";
import { App, Button, Card, Divider, Dropdown, Form, Input, Typography } from "antd";
import { createSchemaFieldRule } from "antd-zod";
import { nanoid } from "nanoid/non-secure";
import { ClientResponseError } from "pocketbase";
@ -334,6 +334,12 @@ const InternalEditDrawer = ({
<Form.Item name="message" label={t("preset.form.notification_message.label")} rules={[formRule]}>
<Input.TextArea autoSize={{ minRows: 10 }} placeholder={t("preset.form.notification_message.placeholder")} />
</Form.Item>
<Divider />
<Form.Item>
<Tips message={<span dangerouslySetInnerHTML={{ __html: t("workflow_node.notify.form.template.guide") }}></span>} />
</Form.Item>
</DrawerForm>
);
};

View File

@ -175,7 +175,6 @@ const SettingsSSLProviderOthers = ({ className, style }: { className?: string; s
timeout: z.union([z.string(), z.number().int().positive()]).nullish(),
});
const formRule = createSchemaFieldRule(formSchema);
const { form: formInst, formProps } = useAntdForm<z.infer<typeof formSchema>>({
initialValues: { timeout: settings.timeout },
onSubmit: async (values) => {
@ -196,10 +195,6 @@ const SettingsSSLProviderOthers = ({ className, style }: { className?: string; s
const [formPending, setFormPending] = useState(false);
const [formChanged, setFormChanged] = useState(false);
useEffect(() => {
setFormChanged(settings.timeout !== formInst.getFieldValue("timeout"));
}, [settings?.timeout]);
const handleFormChange = () => {
setFormChanged(true);
};