All checks were successful
CI / update (push) Successful in 1m10s
Add Intersection Observer-based lazy loading for recipe categories to dramatically reduce initial render time. Categories render progressively as users scroll, reducing initial DOM from 240 cards to ~30-50 cards. Performance improvements: - First 2 categories render eagerly (~30-50 cards) for fast perceived load - Remaining categories lazy-load 600px before entering viewport - Categories render immediately during active search for instant results - "In Season" section always renders first as hero content Implementation: - Add LazyCategory component with IntersectionObserver for vertical lazy loading - Wrap MediaScroller categories with progressive loading logic - Maintain scroll position with placeholder heights (300px per category) - Keep search functionality fully intact with all 240 recipes searchable - Horizontal lazy loading not implemented (IntersectionObserver doesn't work well with overflow-x scroll containers)