const navRef = useRef<any>(null);
const [visibilityMap, setVisibilityMap] = useState<Record<string, boolean>>({});
const [numHidden, setNumHidden] = useState(() => findNumHidden(visibilityMap));
const navRef = useRef<any>(null);
const [visibilityMap, setVisibilityMap] = useState<Record<string, boolean>>({});
const [numHidden, setNumHidden] = useState(() => findNumHidden(visibilityMap));
const handleIntersection = (entries) => {
const updatedEntries: Record<string, boolean> = {};
entries.forEach((entry) => {
const targetid = entry.target.dataset.targetid as string;
const handleIntersection = (entries) => {
const updatedEntries: Record<string, boolean> = {};
entries.forEach((entry) => {
const targetid = entry.target.dataset.targetid as string;