Refactoring Next.js App Router: Fixing Waterfalls, Duplicate Queries, and Cache Invalidation | HapiCode.dev