From 441104ac3c1261165de8fd3f6c7344cba6db0a8f Mon Sep 17 00:00:00 2001 From: JzoNg Date: Tue, 27 Jan 2026 17:55:21 +0800 Subject: [PATCH] fix: lnit error --- .../delivery-method/recipient/member-list.tsx | 18 +++++------ .../recipient/member-selector.tsx | 6 ++-- .../components/single-run-form.tsx | 10 ++++--- .../workflow/nodes/human-input/default.ts | 2 +- .../hooks/use-single-run-form-params.ts | 18 ++++++----- web/eslint-suppressions.json | 30 ------------------- web/service/workflow.ts | 6 ++-- 7 files changed, 33 insertions(+), 57 deletions(-) diff --git a/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-list.tsx b/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-list.tsx index d492f69282..eca07fd6ce 100644 --- a/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-list.tsx +++ b/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-list.tsx @@ -1,7 +1,7 @@ 'use client' import type { FC } from 'react' +import type { Recipient } from '@/app/components/workflow/nodes/human-input/types' import type { Member } from '@/models/common' -import * as React from 'react' import { useMemo } from 'react' import { useTranslation } from 'react-i18next' import Avatar from '@/app/components/base/avatar' @@ -11,11 +11,11 @@ import { cn } from '@/utils/classnames' const i18nPrefix = 'nodes.humanInput' type Props = { - value: any[] + value: Recipient[] searchValue: string onSearchChange: (value: string) => void list: Member[] - onSelect: (value: any) => void + onSelect: (value: string) => void email: string hideSearch?: boolean } @@ -57,16 +57,16 @@ const MemberList: FC = ({ searchValue, list, value, onSearchChange, onSel key={account.id} className={cn( 'group flex cursor-pointer items-center gap-2 rounded-lg py-1 pl-2 pr-3 hover:bg-state-base-hover', - value.some((item: { user_id: string }) => item.user_id === account.id) && 'bg-transparent hover:bg-transparent', + value.some(item => item.user_id === account.id) && 'bg-transparent hover:bg-transparent', )} onClick={() => { - if (value.some((item: { user_id: string }) => item.user_id === account.id)) + if (value.some(item => item.user_id === account.id)) return onSelect(account.id) }} > - item.user_id === account.id) && 'opacity-50')} avatar={account.avatar_url} size={24} name={account.name} /> -
item.user_id === account.id) && 'opacity-50')}> + item.user_id === account.id) && 'opacity-50')} avatar={account.avatar_url} size={24} name={account.name} /> +
item.user_id === account.id) && 'opacity-50')}>
{account.name} {account.status === 'pending' && {t('members.pending', { ns: 'common' })}} @@ -74,10 +74,10 @@ const MemberList: FC = ({ searchValue, list, value, onSearchChange, onSel
{account.email}
- {!value.some((item: { user_id: string }) => item.user_id === account.id) && ( + {!value.some(item => item.user_id === account.id) && (
{t(`${i18nPrefix}.deliveryMethod.emailConfigure.memberSelector.add`, { ns: 'workflow' })}
)} - {value.some((item: { user_id: string }) => item.user_id === account.id) && ( + {value.some(item => item.user_id === account.id) && (
{t(`${i18nPrefix}.deliveryMethod.emailConfigure.memberSelector.added`, { ns: 'workflow' })}
)}
diff --git a/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-selector.tsx b/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-selector.tsx index 64fb14cd68..4ce8232a2e 100644 --- a/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-selector.tsx +++ b/web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/member-selector.tsx @@ -1,10 +1,10 @@ 'use client' import type { FC } from 'react' +import type { Recipient } from '@/app/components/workflow/nodes/human-input/types' import type { Member } from '@/models/common' import { RiContactsBookLine, } from '@remixicon/react' -import * as React from 'react' import { useState } from 'react' import { useTranslation } from 'react-i18next' import Button from '@/app/components/base/button' @@ -15,9 +15,9 @@ import MemberList from './member-list' const i18nPrefix = 'nodes.humanInput' type Props = { - value: any[] + value: Recipient[] email: string - onSelect: (value: any) => void + onSelect: (value: string) => void list: Member[] } diff --git a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx index ec4b4628c9..7fd0c74000 100644 --- a/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx +++ b/web/app/components/workflow/nodes/human-input/components/single-run-form.tsx @@ -1,4 +1,6 @@ 'use client' +import type { ButtonProps } from '@/app/components/base/button' +import type { UserAction } from '@/app/components/workflow/nodes/human-input/types' import type { HumanInputFormData } from '@/types/workflow' import { RiArrowLeftLine } from '@remixicon/react' import * as React from 'react' @@ -14,7 +16,7 @@ type Props = { data: HumanInputFormData showBackButton?: boolean handleBack?: () => void - onSubmit?: (data: any) => Promise + onSubmit?: ({ inputs, action }: { inputs: Record, action: string }) => Promise } const FormContent = ({ @@ -30,7 +32,7 @@ const FormContent = ({ const [inputs, setInputs] = useState(defaultInputs) const [isSubmitting, setIsSubmitting] = useState(false) - const handleInputsChange = (name: string, value: any) => { + const handleInputsChange = (name: string, value: string) => { setInputs(prev => ({ ...prev, [name]: value, @@ -66,11 +68,11 @@ const FormContent = ({ /> ))}
- {data.actions.map((action: any) => ( + {data.actions.map((action: UserAction) => (