• Johnny's avatar
    refactor: clean up MemoView and MemoEditor component architecture · 2516cdf2
    Johnny authored
    This commit refactors MemoView and MemoEditor components for better
    maintainability, introducing React Context, custom hooks, and improved
    folder structure.
    
    MemoView improvements:
    - Introduce MemoViewContext to eliminate prop drilling
    - Reduce MemoHeader props from 18 to 8
    - Reduce MemoBody props from 9 to 4
    - Extract custom hooks: useMemoViewDerivedState, useMemoEditor,
      useMemoHandlers for better separation of concerns
    - Fix React hooks ordering bug in edit mode
    
    MemoEditor improvements:
    - Extract state management into useMemoEditorState hook
    - Extract keyboard handling into useMemoEditorKeyboard hook
    - Extract event handlers into useMemoEditorHandlers hook
    - Extract initialization logic into useMemoEditorInit hook
    - Reduce main component from 461 to 317 lines (31% reduction)
    
    Folder structure cleanup:
    - Move SortableItem to memo-metadata (correct location)
    - Move ErrorBoundary to components folder
    - Flatten Toolbar/InsertMenu structure (remove unnecessary nesting)
    - Consolidate hooks in main hooks folder
    - Consolidate types in main types folder
    
    Benefits:
    - Better separation of concerns
    - Improved testability
    - Easier maintenance
    - Cleaner code organization
    - No functionality changes
    
    🤖 Generated with [Claude Code](https://claude.com/claude-code)
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    2516cdf2
Name
Last commit
Last update
..
AttachmentCard.tsx Loading commit data...
AttachmentList.tsx Loading commit data...
LocationDisplay.tsx Loading commit data...
MetadataCard.tsx Loading commit data...
RelationCard.tsx Loading commit data...
RelationList.tsx Loading commit data...
SortableItem.tsx Loading commit data...
index.ts Loading commit data...
types.ts Loading commit data...