import * as React from "react"; import {useEffect, useRef, useState} from "react"; interface AnchoringProps { text: string, // Default: Découvrez-en plus ! linkTo: string // Default: #main-page } export const Anchoring = ({ data }: { data: AnchoringProps }) => { const [opacity, setOpacity] = useState(1); const anchoringRef = useRef(null); const handleScroll = () => { const scrollTop = window.scrollY || window.pageYOffset; const elementHeight = anchoringRef.current.clientHeight; const newOpacity = (elementHeight - scrollTop) / elementHeight; setOpacity(newOpacity); }; useEffect(() => { handleScroll(); // Initialize opacity on mount window.addEventListener('scroll', handleScroll); return () => { window.removeEventListener('scroll', handleScroll); }; }, []); const anchoringStyle = { opacity: opacity, transition: 'opacity 0.3s', // You can add a transition for a smooth effect }; return (

{ data.text }

); };