/
githubmirror
/
traefik
Обзор
Документация
Войти
/
githubmirror
/
traefik
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
webui/src/components/buttons/ScrollTopButton.tsx
29 строк
750 B
Murat Aslan
Display server weight in service detail view
30 мар 2026, 17:58
Не верифицирован
30 мар 2026, 17:58
9a8ff96
Код
Авторство
О чём код?
import { Button } from '@traefik-labs/faency' import { useCallback, useEffect, useState } from 'react' export const ScrollTopButton = () => { const [showOnScroll, setShowOnScroll] = useState<boolean>(false) const handleScroll = useCallback(() => { const position = window?.scrollY || 0 setShowOnScroll(position >= 160) }, [setShowOnScroll]) useEffect(() => { window.addEventListener('scroll', handleScroll, { passive: true }) return () => { window.removeEventListener('scroll', handleScroll) } }, [handleScroll]) if (!showOnScroll) { return null } return ( <Button variant="primary" onClick={(): void => window.scrollTo({ top: 0, behavior: 'smooth' })}> Scroll to top </Button> ) }