export default function Home() {
const firstText = useRef(null);
const secondText= useRef(null);
const direction = useRef(-1);
let xPercent = 0;
return (
<main className='relative h-svh mb-[100vh] overflow-hidden'>
<Image src={Background} className='object-cover' fill alt='' priority />
{/* slider container */}
<div className='absolute top-[calc(100svh-350px)]'>
{/* slider */}
<div ref={slider} className='relative whitespace-nowrap'>
<p ref={firstText} className='relative m-0 text-white text-[230px] font-medium pr-[50px]'>
Freelance Developer -
</p>
<p ref={secondText} className='m-0 text-white text-[230px] font-medium pr-[50px] last:absolute last:left-full last:top-0'>
Freelance Developer -
</p>
</div>
</div>
</main>
);
}
useEffect(() => {
requestAnimateFrame(animate)
}, [])
const animate = () => {
if (xPercent < -100) {
xPercent = 0;
} else if (xPercent > 0) {
xPercent = -100;
}
gsap.set(firstText.current, { xPercent: xPercent });
gsap.set(secondText.current, { xPercent: xPercent });
requestAnimateFrame(animate)
xPercent += 0.1 * direction.current;
}
if (xPercent < -100) {
xPercent = 0;
} else if (xPercent > 0) {
xPercent = -100;
}