"use client"; import { useState, useEffect, useCallback } from "react"; function SearchIcon() { return ( ); } function TelegramIcon() { return ( ); } export default function StickyNav() { const [navVisible, setNavVisible] = useState(false); const onScroll = useCallback(() => { const shouldShow = window.scrollY > window.innerHeight * 0.7; setNavVisible((prev) => (prev !== shouldShow ? shouldShow : prev)); }, []); useEffect(() => { let ticking = false; const handleScroll = () => { if (!ticking) { requestAnimationFrame(() => { onScroll(); ticking = false; }); ticking = true; } }; window.addEventListener("scroll", handleScroll, { passive: true }); return () => window.removeEventListener("scroll", handleScroll); }, [onScroll]); return ( ); }