import { useSignal } from "@preact/signals"; import { useEffect } from "preact/hooks"; import { LuArrowUp } from "@preact-icons/lu"; export default function ScrollUpButton() { const isVisible = useSignal(false); useEffect(() => { const checkScroll = () => { isVisible.value = globalThis.scrollY > 300; }; checkScroll(); globalThis.addEventListener("scroll", checkScroll); return () => { globalThis.removeEventListener("scroll", checkScroll); }; }, []); const scrollToTop = () => { globalThis.scrollTo({ top: 0, behavior: "smooth", }); }; return ( ); }