1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { useCallback } from 'react'
- import { generateNewNode } from '../utils'
- import { useWorkflowStore } from '../store'
- import type { NoteNodeType } from '../note-node/types'
- import { CUSTOM_NOTE_NODE } from '../note-node/constants'
- import { NoteTheme } from '../note-node/types'
- import { useAppContext } from '@/context/app-context'
- export const useOperator = () => {
- const workflowStore = useWorkflowStore()
- const { userProfile } = useAppContext()
- const handleAddNote = useCallback(() => {
- const { newNode } = generateNewNode({
- type: CUSTOM_NOTE_NODE,
- data: {
- title: '',
- desc: '',
- type: '' as any,
- text: '',
- theme: NoteTheme.blue,
- author: userProfile?.name || '',
- showAuthor: true,
- width: 240,
- height: 88,
- _isCandidate: true,
- } as NoteNodeType,
- position: {
- x: 0,
- y: 0,
- },
- })
- workflowStore.setState({
- candidateNode: newNode,
- })
- }, [workflowStore, userProfile])
- return {
- handleAddNote,
- }
- }
|