Summary
Create a reusable scroll-reveal component that animates elements into view as the user scrolls.
Tasks
Files to change
components/reveal.tsx (new, ~80 lines)
hooks/use-in-view.ts (new, ~30 lines)
app/page.tsx (~50 lines added for demo sections)
Acceptance criteria
- Elements animate in when they enter the viewport
- Works on mobile and desktop
npm run build succeeds
Summary
Create a reusable scroll-reveal component that animates elements into view as the user scrolls.
Tasks
components/reveal.tsxusing Intersection Observer + framer-motion:hooks/use-in-view.tsfor the intersection observer logicapp/page.tsxto showcase the reveal effectsFiles to change
components/reveal.tsx(new, ~80 lines)hooks/use-in-view.ts(new, ~30 lines)app/page.tsx(~50 lines added for demo sections)Acceptance criteria
npm run buildsucceeds