'use client' import type { FC } from 'react' import React, { useCallback } from 'react' import { useTranslation } from 'react-i18next' import { RiAddLine, } from '@remixicon/react' import type { Condition, HandleAddCondition, HandleAddSubVariableCondition, HandleRemoveCondition, HandleToggleConditionLogicalOperator, HandleToggleSubVariableConditionLogicalOperator, HandleUpdateCondition, HandleUpdateSubVariableCondition, LogicalOperator, handleRemoveSubVariableCondition } from '../types' import type { Node, NodeOutPutVar, Var } from '../../../types' import { VarType } from '../../../types' import { useGetAvailableVars } from '../../variable-assigner/hooks' import ConditionList from './condition-list' import ConditionAdd from './condition-add' import { SUB_VARIABLES } from './../default' import cn from '@/utils/classnames' import Button from '@/app/components/base/button' import { PortalSelect as Select } from '@/app/components/base/select' type Props = { isSubVariable?: boolean conditionId?: string conditions: Condition[] logicalOperator: LogicalOperator | undefined readOnly: boolean handleAddCondition?: HandleAddCondition handleRemoveCondition?: HandleRemoveCondition handleUpdateCondition?: HandleUpdateCondition handleToggleConditionLogicalOperator?: HandleToggleConditionLogicalOperator handleAddSubVariableCondition?: HandleAddSubVariableCondition handleRemoveSubVariableCondition?: handleRemoveSubVariableCondition handleUpdateSubVariableCondition?: HandleUpdateSubVariableCondition handleToggleSubVariableConditionLogicalOperator?: HandleToggleSubVariableConditionLogicalOperator nodeId: string availableNodes: Node[] availableVars: NodeOutPutVar[] } const ConditionWrap: FC = ({ isSubVariable, conditionId, conditions, logicalOperator, nodeId: id = '', readOnly, handleUpdateCondition, handleAddCondition, handleRemoveCondition, handleToggleConditionLogicalOperator, handleAddSubVariableCondition, handleRemoveSubVariableCondition, handleUpdateSubVariableCondition, handleToggleSubVariableConditionLogicalOperator, availableNodes = [], availableVars = [], }) => { const { t } = useTranslation() const getAvailableVars = useGetAvailableVars() const filterNumberVar = useCallback((varPayload: Var) => { return varPayload.type === VarType.number }, []) const subVarOptions = SUB_VARIABLES.map(item => ({ name: item, value: item, })) if (!conditions) return
return ( <>
{ conditions && !!conditions.length && (
) }
1 && !isSubVariable && 'ml-[60px]', )}> {isSubVariable ? (