mirror of https://github.com/usememos/memos
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Complete refactoring of MemoView components for better code quality: - Split useMemoViewState into individual hook files (useMemoActions, useKeyboardShortcuts, useNsfwContent, useImagePreview, useMemoCreator) for single responsibility principle - Consolidate types closer to usage - move hook-specific types to respective files, keep only component props in shared types.ts - Optimize context with separate static/dynamic memoization to reduce unnecessary re-renders - Simplify barrel exports to only expose public API (MemoView component and MemoViewProps type) - Add comprehensive JSDoc documentation to all public APIs with usage examples Benefits: - Better maintainability: each hook file has one clear purpose - Improved performance: context optimization prevents unnecessary re-renders - Enhanced developer experience: clear documentation and encapsulation - Cleaner architecture: public API is minimal, internal details hidden All automated checks pass (TypeScript compilation, linter, production build). |
6 months ago | |
|---|---|---|
| .. | ||
| public | 12 months ago | |
| src | 6 months ago | |
| .gitignore | 1 year ago | |
| biome.json | 7 months ago | |
| components.json | 12 months ago | |
| index.html | 6 months ago | |
| package.json | 6 months ago | |
| pnpm-lock.yaml | 6 months ago | |
| tsconfig.json | ||
| vite.config.mts | 7 months ago | |