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/src
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>
3 months ago
..
components refactor(web): unify memo stats/filters with context-aware MainLayout 3 months ago
helpers refactor: migrate eslint 10 months ago
hooks refactor(web): unify memo stats/filters with context-aware MainLayout 3 months ago
layouts refactor(web): unify memo stats/filters with context-aware MainLayout 3 months ago
lib refactor: unify components 7 months ago
locales refactor(api): migrate inbox functionality to user notifications 3 months ago
pages refactor(web): unify memo stats/filters with context-aware MainLayout 3 months ago
router refactor(web): unify memo stats/filters with context-aware MainLayout 3 months ago
store refactor(api): migrate inbox functionality to user notifications 3 months ago
themes chore: update component styles for consistency 3 months ago
types refactor(api): migrate inbox functionality to user notifications 3 months ago
utils feat: implement OAuth state management with CSRF protection and cleanup functionality 3 months ago
App.tsx feat: implement OAuth state management with CSRF protection and cleanup functionality 3 months ago
grpcweb.ts refactor(api): migrate inbox functionality to user notifications 3 months ago
i18n.ts feat: add norwegian bokmål (nb) translation (#4561) 10 months ago
index.css chore: remove unused syntax 3 months ago
main.tsx refactor: standardize MobX store architecture with base classes and utilities 3 months ago