/
githubmirror
/
marktext
Обзор
Документация
Войти
/
githubmirror
/
marktext
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/website/src/hooks/useNavShrink.ts
20 строк
560 B
Ran Luo
refactor(website): redesign landing page, drop markdown engine deps (#4312)
29 май 2026, 12:23
Не верифицирован
29 май 2026, 12:23
320255d
Код
Авторство
О чём код?
'use client' import { useEffect, type RefObject } from 'react' export function useNavShrink(navRef: RefObject<HTMLElement | null>) { useEffect(() => { const nav = navRef.current if (!nav) return let last = -1 const onScroll = () => { const y = window.scrollY > 20 ? 1 : 0 if (y === last) return last = y nav.classList.toggle('is-shrunk', y === 1) } onScroll() window.addEventListener('scroll', onScroll, { passive: true }) return () => window.removeEventListener('scroll', onScroll) }, [navRef]) }