| 1234567891011121314151617181920212223242526272829303132 | 
							- import { useCallback } from 'react'
 
- import type { EditorState } from 'lexical'
 
- import { WorkflowHistoryEvent, useNodeDataUpdate, useWorkflowHistory } from '../hooks'
 
- import type { NoteTheme } from './types'
 
- export const useNote = (id: string) => {
 
-   const { handleNodeDataUpdateWithSyncDraft } = useNodeDataUpdate()
 
-   const { saveStateToHistory } = useWorkflowHistory()
 
-   const handleThemeChange = useCallback((theme: NoteTheme) => {
 
-     handleNodeDataUpdateWithSyncDraft({ id, data: { theme } })
 
-     saveStateToHistory(WorkflowHistoryEvent.NoteChange)
 
-   }, [handleNodeDataUpdateWithSyncDraft, id, saveStateToHistory])
 
-   const handleEditorChange = useCallback((editorState: EditorState) => {
 
-     if (!editorState?.isEmpty())
 
-       handleNodeDataUpdateWithSyncDraft({ id, data: { text: JSON.stringify(editorState) } })
 
-     else
 
-       handleNodeDataUpdateWithSyncDraft({ id, data: { text: '' } })
 
-   }, [handleNodeDataUpdateWithSyncDraft, id])
 
-   const handleShowAuthorChange = useCallback((showAuthor: boolean) => {
 
-     handleNodeDataUpdateWithSyncDraft({ id, data: { showAuthor } })
 
-     saveStateToHistory(WorkflowHistoryEvent.NoteChange)
 
-   }, [handleNodeDataUpdateWithSyncDraft, id, saveStateToHistory])
 
-   return {
 
-     handleThemeChange,
 
-     handleEditorChange,
 
-     handleShowAuthorChange,
 
-   }
 
- }
 
 
  |