"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 (
);
}