import { memo } from 'react'; import NodeShell from '../components/NodeShell.jsx'; import { NodeDraftTextarea } from '../components/NodeDraftField.jsx'; import { useWorkflow } from '../context/WorkflowContext.jsx'; import { getNodeAccent } from '../lib/nodeRegistry.js'; function TextFlowNode({ id, data, selected, type }) { const { getNodeHandles, patchNodeData, presets, savePreset } = useWorkflow(); const handles = getNodeHandles(type, data); const runtime = data.runtime || {}; const presetOptions = [...presets.default, ...presets.custom]; const textareaHeight = Math.max((data.height || 210) - 104, 148); const editorText = data.text ?? ''; const applyPreset = (presetId, event) => { const preset = presetOptions.find((item) => item.id === presetId); if (!preset) { return; } patchNodeData(id, { text: preset.text }); if (event) { event.target.value = ''; } }; const handleSavePreset = async () => { const name = window.prompt('Preset name:'); if (!name) { return; } await savePreset(name, editorText); }; return (
patchNodeData(id, { text: value })} /> {runtime.error ?
{runtime.error}
: null}
); } export default memo(TextFlowNode);