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.
memos/web
Steven 1d7efb1580 refactor(web): unify memo stats/filters with context-aware MainLayout
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 chore: enhance site.webmanifest in firefox (#4828) 4 months ago
src refactor(web): unify memo stats/filters with context-aware MainLayout 1 week ago
.gitignore chore: update gitignore 7 months ago
.prettierrc.js chore: fix linter 9 months ago
MARKDOWN_STYLE_GUIDE.md chore: remove unused syntax 3 weeks ago
README.md
components.json feat: themes (#4824) 4 months ago
eslint.config.mjs refactor: migrate eslint 8 months ago
index.html chore: remove fixed theme color 4 months ago
package.json chore: remove unused syntax 3 weeks ago
pnpm-lock.yaml chore: remove unused syntax 3 weeks ago
tsconfig.json
vite.config.mts refactor: update markdown parser 3 weeks ago

README.md

The frontend of Memos