• Steven's avatar
    refactor(web): unify memo stats/filters with context-aware MainLayout · 1d7efb15
    Steven authored
    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: 's avatarClaude <noreply@anthropic.com>
    1d7efb15
Name
Last commit
Last update
..
AdminSignIn.tsx Loading commit data...
Archived.tsx Loading commit data...
Attachments.tsx Loading commit data...
AuthCallback.tsx Loading commit data...
Explore.tsx Loading commit data...
Home.tsx Loading commit data...
Inboxes.tsx Loading commit data...
Loading.tsx Loading commit data...
MemoDetail.tsx Loading commit data...
NotFound.tsx Loading commit data...
PermissionDenied.tsx Loading commit data...
Setting.tsx Loading commit data...
SignIn.tsx Loading commit data...
SignUp.tsx Loading commit data...
UserProfile.tsx Loading commit data...