/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/components/shared/useTerminalBodyScroll.js
25 строк
740 B
Spirzen
JS Rework and sidebar fixes
02 июн 2026, 20:19
02 июн 2026, 20:19
ff007b4
Код
Авторство
О чём код?
import {useEffect} from 'react'; /** * Прокрутка вывода терминала внутри overflow-контейнера. * scrollIntoView на маркере внизу тянет за собой всю страницу (витрина /about/interactive). */ export function useTerminalBodyScroll(bodyRef, deps) { useEffect(() => { const body = bodyRef.current; if (!body) { return; } const prefersReducedMotion = typeof window !== 'undefined' && window.matchMedia('(prefers-reduced-motion: reduce)').matches; if (prefersReducedMotion) { body.scrollTop = body.scrollHeight; return; } body.scrollTo({top: body.scrollHeight, behavior: 'smooth'}); }, deps); }