use-mobile
weekendsuperhero-io-sistine/use-mobileUnverifiedHook
React hook that tracks whether the viewport is below the mobile breakpoint (768px).
Install it
npx shadcn@latest add https://raw.githubusercontent.com/Weekendsuperhero-io/sistine/main/use-mobile.jsonSource
1import * as React from "react";23const MOBILE_BREAKPOINT = 768;45export function useIsMobile() {6 const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);78 React.useEffect(() => {9 const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);10 const onChange = () => {11 setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);12 };13 mql.addEventListener("change", onChange);14 setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);15 return () => mql.removeEventListener("change", onChange);16 }, []);1718 return !!isMobile;19}
