import { Show, createSignal, onCleanup } from "solid-js" import { Box, Icon } from "@hope-ui/solid" import { FiArrowUp } from "solid-icons/fi" import { Motion } from "@motionone/solid" import { isMobile } from "~/utils/compatibility" import { getMainColor } from "~/store" export const useScrollListener = ( callback: (e?: Event) => void, options?: { immediate?: boolean }, ) => { if (options?.immediate) callback() window.addEventListener("scroll", callback, { passive: true }) onCleanup(() => window.removeEventListener("scroll", callback)) } export const BackTop = () => { if (isMobile) return null const [visible, setVisible] = createSignal(false) useScrollListener(() => setVisible(window.scrollY > 100)) return ( { window.scrollTo({ top: 0, behavior: "smooth" }) }} /> ) }