import { DotbaseNodesEnum } from '@/components/dashboard/nodes/types/nodeTypes'; import { DefaultContent, MethodHeaderSkeleton, ToolbarSkeleton } from '@/components/dashboard/nodes/common/ToolbarSkeleton'; import { ValidatorContext } from '@/contexts/ValidatorContext'; import useDnDStore from '@/stores/useDnDStore'; import { InformationCircleIcon } from '@heroicons/react/24/outline'; import React from 'react'; import { Handle, NodeToolbar, Position, NodeProps as ReactFlowNodeProps } from 'reactflow'; import { highlight, languages } from 'prismjs'; import 'prismjs/components/prism-clike'; import 'prismjs/components/prism-python'; import 'prismjs/themes/prism.css'; import Editor from 'react-simple-code-editor'; const Spark: React.FC = (props) => { const { errors } = React.useContext(ValidatorContext); const { updateNode } = useDnDStore(); const [toolbarVisible, setToolbarVisible] = React.useState(false); const [code, setCode] = React.useState(''); const onCustomFuncChange = (code: string) => { updateNode(props.id, { func: code }); setCode(code); }; return (
SPARK
setToolbarVisible(true)} onMouseLeave={() => setToolbarVisible(false)} /> } content={ } />
highlight(code || '', languages.python!, 'py')} padding={10} className="max-w-96 max-h-96 min-h-16 overflow-y-auto bg-[#1a1a1a] text-gray-400 w-full rounded-sm mt-2" style={{ fontFamily: '"Fira code", "Fira Mono", monospace', fontSize: 12, }} textareaClassName="outline-none w-80" />
{errors?.[props.id]?.func && {errors?.[props.id]?.func}}
); }; export default Spark;