'use client'; import clsx from 'clsx'; import { useMemo, useState } from 'react'; import { TabList, TabPanel, Tabs } from 'react-tabs'; import { toast } from 'react-toastify'; import Modal, { ModalProps } from '@/components/ui/Modal.tsx'; import TabLabel from '@/components/ui/TabLabel.tsx'; import SchemaTab from '@/dialogs/DlgInlineSynthesis/SchemaTab.tsx'; import { LibraryItemID } from '@/models/library.ts'; import { ISubstitution } from '@/models/rsform.ts'; import { useSynthesis } from '@/pages/OssPage/SynthesisContext.tsx'; interface DlgCreateSynthesisProps extends Pick { nodeId: string; } export enum SynthesisTabID { SCHEMA = 0, SUBSTITUTIONS = 1 } function DlgSelectInputScheme({ nodeId, hideWindow }: DlgCreateSynthesisProps) { const controller = useSynthesis(); const [activeTab, setActiveTab] = useState(SynthesisTabID.SCHEMA); const [selected, setSelected] = useState([]); const [substitutions, setSubstitutions] = useState([]); const [donorID, setDonorID] = useState(undefined); const schemaPanel = useMemo( () => ( ), [donorID] ); function handleSubmit() { if (donorID !== undefined) { controller.updateBounds(nodeId, donorID); } } function validate() { if (donorID === undefined) { toast.error('Выберите источник конституент'); return false; } return true; } return ( {schemaPanel} ); } export default DlgSelectInputScheme;