diff --git a/ui/.eslintrc.cjs b/ui/.eslintrc.cjs index cd314274..8dfca5e2 100644 --- a/ui/.eslintrc.cjs +++ b/ui/.eslintrc.cjs @@ -15,6 +15,7 @@ module.exports = { "plugin:import/typescript", "plugin:prettier/recommended", "plugin:react-hooks/recommended", + "plugin:tailwindcss/recommended", ], ignorePatterns: ["dist", ".eslintrc.cjs"], parser: "@typescript-eslint/parser", diff --git a/ui/package-lock.json b/ui/package-lock.json index 9998368b..57e6696d 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -48,6 +48,7 @@ "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", + "eslint-plugin-tailwindcss": "^3.17.5", "fs-extra": "^11.2.0", "postcss": "^8.4.49", "prettier": "^3.4.2", @@ -4887,6 +4888,22 @@ "eslint": ">=8.40" } }, + "node_modules/eslint-plugin-tailwindcss": { + "version": "3.17.5", + "resolved": "https://registry.npmmirror.com/eslint-plugin-tailwindcss/-/eslint-plugin-tailwindcss-3.17.5.tgz", + "integrity": "sha512-8Mi7p7dm+mO1dHgRHHFdPu4RDTBk69Cn4P0B40vRQR+MrguUpwmKwhZy1kqYe3Km8/4nb+cyrCF+5SodOEmaow==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.5", + "postcss": "^8.4.4" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "tailwindcss": "^3.4.0" + } + }, "node_modules/eslint-scope": { "version": "7.2.2", "resolved": "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-7.2.2.tgz", diff --git a/ui/package.json b/ui/package.json index a521f604..3d390b94 100644 --- a/ui/package.json +++ b/ui/package.json @@ -50,6 +50,7 @@ "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-react-hooks": "^5.1.0", "eslint-plugin-react-refresh": "^0.4.16", + "eslint-plugin-tailwindcss": "^3.17.5", "fs-extra": "^11.2.0", "postcss": "^8.4.49", "prettier": "^3.4.2", diff --git a/ui/src/components/ModalForm.tsx b/ui/src/components/ModalForm.tsx index 4b8b3697..5acd0ed1 100644 --- a/ui/src/components/ModalForm.tsx +++ b/ui/src/components/ModalForm.tsx @@ -106,7 +106,7 @@ const ModalForm = = NonNullable>({ onOk={handleOkClick} onCancel={handleCancelClick} > -
+
{children}
diff --git a/ui/src/components/MultipleInput.tsx b/ui/src/components/MultipleInput.tsx index 77d3fcee..ea9e2fab 100644 --- a/ui/src/components/MultipleInput.tsx +++ b/ui/src/components/MultipleInput.tsx @@ -247,7 +247,7 @@ const MultipleInputItem = forwardRef -
+
-
+
diff --git a/ui/src/components/access/AccessSelect.tsx b/ui/src/components/access/AccessSelect.tsx index 05d15b0d..6e010466 100644 --- a/ui/src/components/access/AccessSelect.tsx +++ b/ui/src/components/access/AccessSelect.tsx @@ -36,7 +36,7 @@ const AccessSelect = ({ filter, ...props }: AccessTypeSelectProps) => { const access = accesses.find((e) => e.id === key); if (!access) { return ( - + {key} @@ -47,7 +47,7 @@ const AccessSelect = ({ filter, ...props }: AccessTypeSelectProps) => { const provider = accessProvidersMap.get(access.configType); return ( - + {access.name} diff --git a/ui/src/components/certificate/CertificateDetail.tsx b/ui/src/components/certificate/CertificateDetail.tsx index f729b8b9..425f8f88 100644 --- a/ui/src/components/certificate/CertificateDetail.tsx +++ b/ui/src/components/certificate/CertificateDetail.tsx @@ -48,7 +48,7 @@ const CertificateDetail = ({ data, ...props }: CertificateDetailProps) => { -
+
{ -
+
{ const renderOption = (key: string) => { const provider = accessProvidersMap.get(key); return ( -
- +
+ {t(provider?.name ?? "")} diff --git a/ui/src/components/provider/DeployProviderPicker.tsx b/ui/src/components/provider/DeployProviderPicker.tsx index d259dccb..0544f4c0 100644 --- a/ui/src/components/provider/DeployProviderPicker.tsx +++ b/ui/src/components/provider/DeployProviderPicker.tsx @@ -50,7 +50,7 @@ const DeployProviderPicker = ({ className, style, onSelect }: DeployProviderPick return ( { diff --git a/ui/src/components/provider/DeployProviderSelect.tsx b/ui/src/components/provider/DeployProviderSelect.tsx index ae7cbf9b..54e3643b 100644 --- a/ui/src/components/provider/DeployProviderSelect.tsx +++ b/ui/src/components/provider/DeployProviderSelect.tsx @@ -21,7 +21,7 @@ const DeployProviderSelect = (props: DeployProviderSelectProps) => { const renderOption = (key: string) => { const provider = deployProvidersMap.get(key); return ( - + {t(provider?.name ?? "")} diff --git a/ui/src/components/workflow/WorkflowElement.tsx b/ui/src/components/workflow/WorkflowElement.tsx index 82301aff..9e3af92f 100644 --- a/ui/src/components/workflow/WorkflowElement.tsx +++ b/ui/src/components/workflow/WorkflowElement.tsx @@ -32,7 +32,7 @@ const WorkflowElement = ({ node }: NodeProps) => { switch (node.type) { case WorkflowNodeType.Start: { return ( -
+
{node.config?.executionMethod === "auto" ? t("workflow.props.trigger.auto") @@ -64,7 +64,7 @@ const WorkflowElement = ({ node }: NodeProps) => { case WorkflowNodeType.Notify: { const channel = notifyChannelsMap.get(node.config?.channel as string); return ( -
+
{t(channel?.name ?? "")} {(node.config?.subject as string) ?? ""} @@ -130,10 +130,10 @@ const WorkflowElement = ({ node }: NodeProps) => { overlayInnerStyle={{ padding: 0 }} placement="rightTop" > - -
+ +
{
-
-
+
+
{renderNodeContent()}
diff --git a/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx b/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx index 99346a4a..ec7295e0 100644 --- a/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx +++ b/ui/src/components/workflow/WorkflowRunDetailDrawer.tsx @@ -40,7 +40,7 @@ const WorkflowRunDetailDrawer = ({ data, loading, trigger, ...props }: WorkflowR {t("workflow_run.props.status.failed")}} /> -
+
{data!.log.map((item, i) => { return ( @@ -49,7 +49,7 @@ const WorkflowRunDetailDrawer = ({ data, loading, trigger, ...props }: WorkflowR
{item.outputs.map((output, j) => { return ( -
+
[{dayjs(output.time).format("YYYY-MM-DD HH:mm:ss")}]
{output.error ?
{output.error}
:
{output.content}
}
diff --git a/ui/src/components/workflow/node/AddNode.tsx b/ui/src/components/workflow/node/AddNode.tsx index 4d308623..008cd17a 100644 --- a/ui/src/components/workflow/node/AddNode.tsx +++ b/ui/src/components/workflow/node/AddNode.tsx @@ -45,7 +45,7 @@ const AddNode = ({ node: supnode }: NodeProps | BrandNodeProps) => { }; return ( -
+
{ @@ -61,7 +61,7 @@ const AddNode = ({ node: supnode }: NodeProps | BrandNodeProps) => { }} trigger={["click"]} > -
+
diff --git a/ui/src/components/workflow/node/ApplyNodeForm.tsx b/ui/src/components/workflow/node/ApplyNodeForm.tsx index a4902492..b4048865 100644 --- a/ui/src/components/workflow/node/ApplyNodeForm.tsx +++ b/ui/src/components/workflow/node/ApplyNodeForm.tsx @@ -143,9 +143,9 @@ const ApplyNodeForm = ({ node }: ApplyNodeFormProps) => { -