/* eslint-disable react-hooks/rules-of-hooks */ import { IFlowNodeParameter } from '@/types/flow'; import { convertKeysToCamelCase } from '@/utils/flow'; import Editor from '@monaco-editor/react'; import { Button, Form, Modal } from 'antd'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; export const renderCodeEditor = (data: IFlowNodeParameter) => { const { t } = useTranslation(); const attr = convertKeysToCamelCase(data.ui?.attr || {}); const [isModalOpen, setIsModalOpen] = useState(false); const showModal = () => { setIsModalOpen(true); }; const onOk = () => { setIsModalOpen(false); }; const onCancel = () => { setIsModalOpen(false); }; const modalWidth = useMemo(() => { if (data?.ui?.editor?.width) { return data?.ui?.editor?.width + 100; } return '80%'; }, [data?.ui?.editor?.width]); return (