import { IconFont } from '@/components/icon-font'; import { ComparisonOperator, SwitchOperatorOptions } from '@/constants/agent'; import { cn } from '@/lib/utils'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; export const LogicalOperatorIcon = function OperatorIcon({ icon, value, }: Omit<(typeof SwitchOperatorOptions)[0], 'label'>) { if (typeof icon === 'string') { return ( ); } return icon; }; export function useBuildSwitchOperatorOptions( subset: ComparisonOperator[] = [], ) { const { t } = useTranslation(); const switchOperatorOptions = useMemo(() => { const filteredOptions = subset.length > 0 ? SwitchOperatorOptions.filter((x) => subset.some((y) => y === x.value)) : SwitchOperatorOptions; return filteredOptions.map((x) => ({ value: x.value, icon: ( ), label: t(`flow.switchOperatorOptions.${x.label}`), })); }, [subset, t]); return switchOperatorOptions; }