dify/web/app/components/workflow/nodes/start/node.tsx
Stephen Zhou a84c2d36a3
style: format with vp fmt (#38803)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-07-12 15:57:46 +00:00

48 lines
1.7 KiB
TypeScript

import type { FC } from 'react'
import type { StartNodeType } from './types'
import type { NodeProps } from '@/app/components/workflow/types'
import * as React from 'react'
import { useTranslation } from 'react-i18next'
import { Variable02 } from '@/app/components/base/icons/src/vender/solid/development'
import InputVarTypeIcon from '../_base/components/input-var-type-icon'
const i18nPrefix = 'nodes.start'
const Node: FC<NodeProps<StartNodeType>> = ({ data }) => {
const { t } = useTranslation()
const { variables } = data
if (!variables.length) return null
return (
<div className="mb-1 px-3 py-1">
<div className="space-y-0.5">
{variables.map((variable) => (
<div
key={variable.variable}
className="flex h-6 items-center justify-between space-x-1 rounded-md bg-workflow-block-parma-bg px-1"
>
<div className="flex w-0 grow items-center space-x-1">
<Variable02 className="size-3.5 shrink-0 text-text-accent" />
<span className="w-0 grow truncate system-xs-regular text-text-secondary">
{variable.variable}
</span>
</div>
<div className="ml-1 flex items-center space-x-1">
{variable.required && (
<span className="system-2xs-regular-uppercase text-text-tertiary">
{t(($) => $[`${i18nPrefix}.required`], { ns: 'workflow' })}
</span>
)}
<InputVarTypeIcon type={variable.type} className="size-3 text-text-tertiary" />
</div>
</div>
))}
</div>
</div>
)
}
export default React.memo(Node)