a0e474c561
Rendering optimization: - Extract stable routePatterns derived value to avoid expensive useMemo recomputation on enable/disable toggle (only recompute when patterns change) - Stabilize all RouteCard callback props with useCallback+useRef pattern - Pre-compute missingTokenSiteItems as useMemo index instead of per-render call - Add EMPTY_MISSING_ITEMS constant for stable empty array reference Infinite scroll: - Replace manual "load more" button with IntersectionObserver sentinel - Auto-load next chunk when scrolling within 200px of bottom