Hartmut
|
5ffc0d92e4
|
perf: lazy-load xlsx/recharts, split estimate tabs, memoize nav
- xlsx dynamically imported via cached singleton in excel.ts and
skillMatrixParser.ts (removes ~100 kB from 4 routes)
- recharts extracted into lazy-loaded SkillDistributionChart and
PeakTimesChart components (removes ~60 kB from 3 routes)
- EstimateWorkspaceClient: 7 tab components + 2 editors loaded via
next/dynamic (reduces /estimates/[id] from 323 kB to 138 kB)
- ImportModal lazy-loaded in ResourcesClient (deferred until open)
- NavItem memoized with React.memo, top 5 routes get prefetch=true
- Raw <img> replaced with next/image in ProjectsClient, CoverArtSection
- tRPC QueryClient: refetchOnWindowFocus/Reconnect disabled globally
Heaviest routes reduced 39-66% First Load JS:
/analytics/skills: 383→132 kB (-66%)
/estimates/[id]: 323→138 kB (-57%)
/resources/[id]: 458→210 kB (-54%)
/estimates: 310→170 kB (-45%)
/resources: 363→222 kB (-39%)
Co-Authored-By: claude-flow <ruv@ruv.net>
|
2026-03-19 01:23:33 +01:00 |
|