"use client" import { motion, MotionValue, useScroll, useSpring, useTransform, } from "motion/react" import { useRef } from "react" function useParallax(value: MotionValue, distance: number) { return useTransform(value, [0, 1], [-distance, distance]) } function Image({ id }: { id: number }) { const ref = useRef(null) const { scrollYProgress } = useScroll({ target: ref }) const y = useParallax(scrollYProgress, 300) return (
A London skyscraper
{`#00${id}`}
) } export default function Parallax() { const { scrollYProgress } = useScroll() const scaleX = useSpring(scrollYProgress, { stiffness: 100, damping: 30, restDelta: 0.001, }) return (
{[1, 2, 3, 4, 5].map((image) => ( ))}
) } /** * ============== Styles ================ */ function StyleSheet() { return ( ) }