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.
Create unified architecture for memo statistics, filters, and sorting across all pages (Home, Explore, Archived, Profile) with proper visibility filtering and consistent data flow. Key changes: - Rename HomeLayout → MainLayout to reflect broader usage - Create useFilteredMemoStats hook for unified stats computation - Create useMemoFilters/useMemoSorting hooks to eliminate duplication - Refactor all pages to use unified hooks (~147 lines removed) - Move Explore route under MainLayout (was sibling before) - Fix masonry column calculation threshold (1024px → 688px+) Architecture improvements: - MainLayout computes filter/stats per route context - Stats/tags based on same filter as memo list (consistency) - Proper visibility filtering (PUBLIC/PROTECTED) on Explore - MemoExplorer/StatisticsView accept stats as required props - Eliminated optional fallbacks and redundant data fetching Benefits: - Single source of truth for stats computation - Stats remain static (don't change with user filters) - Reduced code duplication across 4 pages - Better maintainability and type safety - Proper security (no private memo leakage on Explore) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
1 week ago | |
|---|---|---|
| .. | ||
| public | 4 months ago | |
| src | 1 week ago | |
| .gitignore | 7 months ago | |
| .prettierrc.js | 9 months ago | |
| MARKDOWN_STYLE_GUIDE.md | 3 weeks ago | |
| README.md | ||
| components.json | 4 months ago | |
| eslint.config.mjs | 8 months ago | |
| index.html | 4 months ago | |
| package.json | 3 weeks ago | |
| pnpm-lock.yaml | 3 weeks ago | |
| tsconfig.json | ||
| vite.config.mts | 3 weeks ago | |